requestMapping的params属性详解以及header属性详解
原创
©著作权归作者所有:来自51CTO博客作者摇滚侠的原创作品,请联系作者获取转载授权,否则将追究法律责任
params
后端api路由
@RequestMapping(value="/paramTest",params = "action=save")
public String paramsTest(@RequestBody Map param){
return "paramsTest";
}
使用postman进行测试。注意因为设置了参数@RequestBody Map param,所以必须设置请求体Body。
Spring Boot从请求参数或HTTP头中提取参数,通过判断参数,如params=“actinotallow=save"确定是否通过。同时还可以设置请求参数包含某个参数、不包含某个参数或者参数等于某个值时通过,具体如下:
1)params={“username”},存在“username”参数时通过。
2)params={”!password"},不存在“password”参数时通过。
3)params={“age=20”},参数age等于20时通过。
@RequestMapping(value="/paramTest",params = {"username"})
public String paramsTest(@RequestBody Map param){
return "paramsTest";
}
header
header的使用和params类似,它检查HTTP的header头中是否有Host=localhost:8080的参数,如果有则匹配此方法。示例代码如下:
@RequestMapping(value="headerTest",headers={"Host=localhost:8080"})
public String headerTest()
{
return "header test";
}