SpringBoot常用的的各种注解(一):Controller中的请求参数
Controller中的请求参数相关注解
@PathVariable
请求路径中的参数,可以有一个或者多个
@GetMapping("/paramTest/{name}/{age}")
public String pathParamTest(@PathVariable("name")String name,
@PathVariable("age") int age){
return name + "\n" + age;
}
在Postman中也是直接在请求路径中添加参数即可
@RequestParam
获取查询参数,形式为url?name=张三
,可以有一个或者多个。
@GetMapping("/paramTest/requestGet")
public String requestParamTestGet(@RequestParam("name") String name,
@RequestParam("age") int age){
return name + "\n" + age;
}
在Postman中可以使用Query Params
的方式添加参数:
也可以使用Body中的form-data
的形式添加参数
@RequestBody
一般用于传输DTO参数,只能有一个
@PostMapping("paramTest/requestBody")
public String requestBodyTest(@RequestBody User user){
return user.toString();
}
在Postman中使用Body的raw
格式传入json
格式的参数
这里顺便讲一下没有注解时,传入Java对象参数的情况:
@PostMapping("paramTest/requestNoAnno")
public String requestNoAnnoTest(User user){
return user.toString();
}
在Postman中可以使用form-data
或者x-www-form-urlencoded
的形式传参
@RequestHeader
请求头参数的设置
@GetMapping("paramTest/requestHeader")
public String requestHeaderTest(@RequestHeader("name") String name){
return name;
}
在Postman的Headers
中添加请求头参数,不过貌似不能加中文
@CookieValue
Cookie相关的参数,基本没见用过,Postman也暂时不清楚怎么搞,以后遇到再说。