常用注解
@PathVariable
将请求谅解url中的字符串作为参数
@GetMapping("/test/{param1}")
public Map test3(@PathVariable("param1") String param1) {
Map<String, String> map = new HashMap<>();
map.put("param1", param1);
return map;
}
或者将请求url的所有值使用map的key/value方式接受
@GetMapping("/test/{param1}")
public Map test3( @PathVariable Map<String, String> values) {
return values;
}
@RequestHeader
@RequestHeader用于获取请求头参数的信息
@GetMapping("/test")
public Map test3(@RequestHeader("Connection") String Connection) {
Map<String, String> map = new HashMap();
map.put("Connection", Connection);
return map;
}
也可以使用一个Map参数接收所有的请求头参数
@GetMapping("/test")
public Map test3(@RequestHeader Map<String,String> headers) {
Map<String, String> map = new HashMap();
return headers;
}
@RequestParam
@RequestParam用于获取请求参数的值,required = true/false 用于控制参数是否必须传,默认为true
@GetMapping("/test")
public Map test3(@RequestParam(value = "param1",required = false) String param1) {
Map<String, String> map = new HashMap();
map.put("param1", param1);
return map;
}
也可以用一个map接收所有的请求参数
@GetMapping("/test")
public Map test3(@RequestParam Map<String,String> map) {
return map;
}
获取一个同名的多值参数也可以用一个集合接收
@GetMapping("/test")
public List test3(@RequestParam("list") List<String> list) {
return list;
}
@CookieValue
@CookieValue用于获取请求中cookie的值
@GetMapping("/test2")
public String test4(@CookieValue("userCookie")String userCookie){
return userCookie;
}
@ResponseBody
@ResponseBody用于获取post请求中表单提交的数据或者json对象,一个方法只能有一个@ResponseBody
//这样获取到的是param1=1¶m2=%E4%B8%AD%E6%96%87这种
@PostMapping("/test3")
public String test5(@RequestBody String content) {
return content;
}
//直接获取一个json对象
public User test6(@RequestBody User user){
return user;
}
@RequestAttribute
用于获取request域中的参数