,最基本的,方法级别上应用
@RequestMapping
(value=
"/departments"
)
public
String simplePattern(){
System.out.println(
"simplePattern method was called"
);
return
"someResult"
;
}
则访问http:
2
, 参数绑定
@RequestMapping
(value=
"/departments"
)
public
String findDepatment(
@RequestParam
(
"departmentId"
) String departmentId){
System.out.println(
"Find department with ID: "
+ departmentId);
return
"someResult"
;
}
形如这样的访问形式:
/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风格的地址访问,比如:
/departments/
23
,其中用(
@PathVariable
接收rest风格的参数
4
,REST风格的参数绑定形式之
2
先看例子,这个有点象之前的:
@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
.