与Spring mvc Controller接收参数直接相关的有三个参数:
@PathVariable、@RequestParam、@RequestBody
1.@PathVariable
获取路径参数,即映射URL中的占位符,也就是@RequestMapping中定义的占位符中的参数例如:http://..........ccc/XXX(其中XXX是传的name值)
代码示例:
@GetMapping("ccc/{name}")
public boolean ccc(@PathVariable("name") String name1) {
boolean b = testUserService.selectAllByName(name1);
return b;
}
2.@RequestParam
获取查询参数, 即取query string当中的参数,query string参数就是请求url中的查询参数,例如:
http://..........ccc?name=XXX,如图:
代码示例:
@GetMapping("ccc")
public boolean ccc(@RequestParam("name") String name1) {
boolean b = testUserService.selectAllByName(name1);
return b;
}
3.@RequestBody
取request 请求体中的参数 (一般是json对象,由Spring MVC负责转成Java对象),请求的Content-Type必须设置成application/json才可以。可以用postman进行测试,当在body中添加参数为json时,会自动将Content-Type 设置为 pplication/json,如图,括号里对应Content-Type的内容。
代码示例:
@GetMapping("ccc")
public boolean ccc3(@RequestBody Map<String,Object> map) {
if (map.containsKey("name")){
String name = map.get("name").toString();
boolean b = testUserService.selectAllByName(name);
return b;
}else {
return false;
}
}