springboot接收参数的注解

Springboot中RestController中接收参数的注解:

  • @RequestHeader

主要用来获取发起http请求时候,header头的传递参数:

类似于:

假如我在header头中添加了一个token参,那么在后端需要获取token的值然后进行验证之类的,就可以这样获取:

@RequestHeader("token") String token

 

  • @RequestBody

主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),所以一般应用到POST/PUT提交方法。也就是前端提交form表单数据的json格式。

前端需要设置header头为的content-type设置为application/json;charset=UTF-8,并且需要将数据转成json对象,例如:

header: {
    contentType: 'application/json;charset=UTF-8'
}

一般会这样用, 加上javax.validation.Valid包中的 @Valid 注解,接收参数的同时验证传递参数是否完整

@RequestBody @Valid Form form
  • @RequestAttribute

这个参数解释起来比较麻烦,RequestAttribute 是获取request中某个属性的值。那么只能从三个方面获取到:

  1. @ModelAttribute注解预存
  2. HandlerInterceptor拦截器中预存
  3. 请求转发带过来

跟获取params 参数不一样,具体有什么作用现在还不清楚。

具体可以参考:

  1. https://blog.csdn.net/m0_37479246/article/details/79025588
  2. https://blog.csdn.net/f641385712/article/details/98508272
  • RequestParam

这个使用来获取key-value格式传递的参数,例如GET方式中http://xxxx?token=12321或者是http://ssss?page=1,中可以用RequestParam获取到对应key的value。

@RequestParam(value="keyname", request=false, defaultValue="zhangsan")
  • @PathVariable

这个是获取url中参数对应的值,必须与RequestMapping中的占位符保持一致,不然会报错。

@GetMapping("/detail/{id}")
public void getData(@PathVariable("id") Long id) {}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值