params

后端api路由

@RequestMapping(value="/paramTest",params = "action=save")
public String paramsTest(@RequestBody Map param){
return "paramsTest";
}

使用postman进行测试。注意因为设置了参数@RequestBody Map param,所以必须设置请求体Body。

requestMapping的params属性详解以及header属性详解_1024程序员节


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";
}

requestMapping的params属性详解以及header属性详解_请求参数_02

header

header的使用和params类似,它检查HTTP的header头中是否有Host=localhost:8080的参数,如果有则匹配此方法。示例代码如下:

@RequestMapping(value="headerTest",headers={"Host=localhost:8080"})
public String headerTest()
{
return "header test";
}

requestMapping的params属性详解以及header属性详解_1024程序员节_03


requestMapping的params属性详解以及header属性详解_请求参数_04