SpringBoot参数注解
SpringBoot参数注解
常用参数注解
- @RequestParm
- @PathVariable
- @RequestHeader
- @CookieValue
- @Requestbody
1.请求参数注解:@RequestParm
用途:用于将方法参数绑定到URI查询参数或者表单参数。他可以帮助我们或者HTTP请求中的参数值并将其作为方法的参数进行处理
注意:当url请求参数与变量名一致,可以不用此注解
参数 | 作用 |
---|---|
value | 设置请求参数的名称 |
required | 指示参数是否必须。默认为 true,如果设置为 false,则该参数可以为空。 |
defaultValue | 如果请求中没有提供参数,或者参数为 null,则使用此默认值 |
type | 指定参数应该绑定到的目标类型,默认情况下,Spring MVC 会自动推断类型 |
@RestController
public class TestController {
@GetMapping("/getRequestParam")
public String test(@RequestParam(value = "username",
required = false,
defaultValue = "aaa") String name){
return "hello " + name;
}
}
(1)当我们请求url:http://localhost:8080/getRequestParam 或者http://localhost:8080/getRequestParam?name=wangwu 时,因为我们设置了value = “username”,required = false,defaultValue = “aaa”,因此最后结果为hello aaa
(2)当我们请求url:http://localhost:8080/getRequestParam?username=wangwu时,最后结果为hello wangwu
2.路径参数注解@PathVariable
用途:用于将方法参数绑定到URI路径中作为路径参数
属性 | 作用 |
---|---|
value | 设置请求参数的名称 |
required | 指示参数是否必须。默认为 true,如果设置为 false,则该参数可以为空。 |
@GetMapping("/getPathVariable/{username}")
public String test2(@PathVariable(value = "username",required = false) String name){
return "hello " + name;
}
请求url:http://localhost:8080/getPathVariable/zhangsan
输出:hello zhangsan
3.头部参数注解@RequestHeader
用途:用于将 HTTP 请求头(header)中的数据绑定到控制器处理方法的参数上
参数 | 作用 |
---|---|
value | 设置请求参数的名称 |
required | 指示参数是否必须。默认为 true,如果设置为 false,则该参数可以为空。 |
defaultValue | 如果请求中没有提供参数,或者参数为 null,则使用此默认值 |
//方式1
@GetMapping("/getRequestHeader")
public String test3(@RequestHeader(value = "token",
required = false,
defaultValue = "aaa") String token){
return "hello " + token;
}
//方式2
@GetMapping("/getRequestHeader2")
public String test3(HttpServletRequest request){
return "hello " + request.getHeader("token");
}
请求url:http://localhost:8080/getRequestHeader?token=davghvadad
结果:hello fasfbafsa
4.@CookieValue
用途:用于将 HTTP 请求中的 Cookie 值绑定到控制器方法的参数上
参数 | 作用 |
---|---|
value | 设置请求参数的名称 |
required | 指示参数是否必须。默认为 true,如果设置为 false,则该参数可以为空。 |
defaultValue | 如果请求中没有提供参数,或者参数为 null,则使用此默认值 |
@GetMapping("/getCookieValue")
public String test4(@CookieValue(value = "sessionId",
required = false,
defaultValue = "aaa") String sessionId){
return "hello " + sessionId;
}
5.@Requestbody
用途:用于接收json数据
@GetMapping("/getRequestBody")
public Map<String,Object> test5(@RequestBody Map<String,Object> user){
return user;
}
传入json参数:
{
"name":"zahngsan"
}
输出:
{
"name": "zahngsan"
}
原文地址:https://blog.csdn.net/weixin_74141581/article/details/143723538
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!