常用参数注解
路径变量@PathVariable
①获取指定路径变量:
@GetMapping("/car/{id}/owner/{userName}")
public Map<String,Object> getCar(@PathVariable("id") int id,
@PathVariable("userName") String userName){
Map<String,Object> map = new HashMap<>();
map.put("id",id);
map.put("userName",userName);
return map;
}
请求:http://localhost:8080/car/1/owner/zhangsan
返回:{"id":"1","userName":"zhangsan"}
②获取所有路径变量:
//使用map提取所有的路径变量,map必须是String类型
@GetMapping("/car/{id}/owner/{userName}/{age}")
public Map<String,String> getCar(@PathVariable() Map<String,String> kv){
return kv;
}
请求:http://localhost:8080/car/2/owner/lisi/30
返回:{"id":"2","userName":"lisi","age":"30"}
获取请求头@RequestHeader
①获取指定请求头
@GetMapping("/car/{id}/owner/{userName}")
public Map<String,Object> getCar(@PathVariable("id") int id,
@PathVariable("userName") String userName,
@RequestHeader("User-Agent") String userAgent){
Map<String,Object> map = new HashMap<>();
map.put("id",id);
map.put("userName",userName);
map.put("userAgent",userAgent);
return map;
}

请求返回:
{"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36","id":1,"userName":"zhangsan"}
②获取所有的请求头
@GetMapping("/car/{id}/owner/{userName}")
public Map<String,String> getCar(@PathVariable("id") int id,
@PathVariable("userName") String userName,
@RequestHeader Map<String,String> heads){
return heads;
}
{"host":"localhost:8080","connection":"keep-alive","cache-control":"max-age=0","sec-ch-ua":"\"Google Chrome\";v=\"105\", \"Not)A;Brand\";v=\"8\", \"Chromium\";v=\"105\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"Windows\"","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","sec-fetch-site":"none","sec-fetch-mode":"navigate","sec-fetch-user":"?1","sec-fetch-dest":"document","accept-encoding":"gzip, deflate, br","accept-language":"zh-CN,zh;q=0.9","cookie":"Idea-71259e56=b05a3fec-a744-4e6b-aeb2-f38a5c6b6dd0; Webstorm-142c3cad=9dee10a5-f1c0-4ed5-97c6-4b442beeb5b3"}
获取请求参数@RequestParam
①获取指定的参数
@GetMapping("/userInfo")
public Map<String,Object> getUser(@RequestParam("name") String name,
@RequestParam("hobbies") List<String> hobbies){
Map<String,Object> map = new HashMap<>();
map.put("name",name);
map.put("hobbies",hobbies);
return map;
}

获取cookie的值@CookieValue
①方式一
@GetMapping("/userInfo")
public Map<String,Object> getUser(@CookieValue("Webstorm-142c3cad") String p){
Map<String,Object> map = new HashMap<>();
map.put("Webstorm",p);
return map;
}

请求:http://localhost:8080/userInfo?name=xiaoming
返回:{"Webstorm":"9dee10a5-f1c0-4ed5-97c6-4b442beeb5b3"}
②方式二:声明为Cookie类型
@GetMapping("/userInfo")
public String getUser(@CookieValue("Idea-71259e56") Cookie cookie){
System.out.println(cookie.getName()+":"+cookie.getValue());
return "1";
}
获取请求体@RequestBody(post请求)
public Map<String,Object> getUser(@RequestBody String content){
Map<String,Object> map = new HashMap<>();
map.put("content",content);
return map;
}

返回字符串类型
@PostMapping("/userInfo")
public String getUser(@RequestBody String content){
return content;
}


浙公网安备 33010602011771号