自学内容网 自学内容网

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)!