您的位置:首页 > 移动开发

SpringMVC的@RequestMapping的用法

2015-12-04 20:46 375 查看
1.最基本的,方法级别上应用:
@RequestMapping(value="/departments")
public String simplePattern(){
System.out.println("simplePattern method was called");
return "someResult";
}
访问http://localhost/xxxx/departments的时候,会调用 SimplePattern方法。

2.参数绑定 :
@RequestMapping(value="/departments")
public String findDepatment(@RequestParam("departmentId") String departmentId){
System.out.println("Find department with ID: " + departmentId);
return "someResult";
}
访问形式: http://localhost/xxxx/departments?departmentId=23就可以触发访问findDepatment方法。
3.REST风格的参数:
@RequestMapping(value="/departments/{departmentId}")
public String findDepatment(@PathVariable String departmentId){
System.out.println("Find department with ID: " + departmentId);
return "someResult";
}
形如REST风格的地址访问,比如: http://localhost/xxxx/departments/23,其中用@PathVariable接收rest风格的参数。
4. REST风格的参数绑定形式:
@RequestMapping(value="/departments/{departmentId}")
public String findDepatmentAlternative(@PathVariable("departmentId") String someDepartmentId){
System.out.println("Find department with ID: " + someDepartmentId);
return "someResult";
}
这个有点不同,就是接收形如/departments/23的URL访问,把23作为传入的departmetnId,,但是在实际的方法findDepatmentAlternative中,使用 @PathVariable("departmentId") String someDepartmentId,将其绑定为 someDepartmentId,所以这里someDepartmentId为23 。

5.url中同时绑定多个id:
@RequestMapping(value="/departments/{departmentId}/employees/{employeeId}")
public String findEmployee(@PathVariable String departmentId, @PathVariable String employeeId){
System.out.println("Find employee with ID: " + employeeId +
" from department: " + departmentId);
return "someResult";
}


6. 支持正则表达式:
@RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\\d]+}")
public String regularExpression(@PathVariable String textualPart, @PathVariable String numericPart){
System.out.println("Textual part: " + textualPart +
", numeric part: " + numericPart);
return "someResult";
}

比如如下的URL:/sometext.123,则输出:Textual part: sometext, numeric part: 123.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: