@RequestParam和@RequestBody

在处理HTTP请求时,@RequestParam用于GET和POST请求的URL参数,而@RequestBody用于接收请求体中的JSON数据。当使用POST并传入JSON时,忘记将@RequestParam改为@RequestBody会导致无法正确解析参数。@RequestParam的required和defaultValue属性可以设置参数是否必需及默认值。总结:GET请求不适用@RequestBody,POST请求可同时使用两者,但要根据请求内容选择合适注解。
摘要由CSDN通过智能技术生成

今天在写post controller的时候复制了get的方法,忘了改参数里面的@RequestParam,启动项目用postman传入json参数的时候一直报错,说没有找到xxxjson对象,当时没想明白为什么,后来才想起来是这里的问题,因此在这里做个记录。

@RequestParam
注解@RequestParam接收的参数是来自HTTP请求体或请求url的参数

RequestParam可以接受简单类型的属性,也可以接受对象类型。

@RequestParam有三个配置参数:

  • required 表示是否必须,默认为 true,必须。
  • defaultValue 可设置请求参数的默认值。
  • value为接收url的参数名(相当于key值)

总结

  1. 在GET请求中,不能使用@RequestBody。
  2. 在POST请求,可以使用@RequestBody和@RequestParam,但是如果使用@RequestBody,对于参数转化的配置必须统一。
  • @RequestBody --> JSON字符串部分
  • @RequestParam --> 请求参数部分
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值