Java中什么时候用@RequestBody和@RequestParam注解

http知识

在讲这个注解之前,需要了解一些网络请求的知识:
POST:请求体传参
POST:http://localhost:8080/student/add
Content-Type:application/json 请求类型

1.请求内容类型是json类型时,通过json传参
{
“name” : “zhangsan”,
“age” : 15
}
2.请求内容是表单类型时,类似GET通过拼接key-value传参
在这里插入图片描述

GET:url传参
在这里插入图片描述
通过?拼接key-value对传参

@RequestBody

1.@RequestBody顾名思义要求有请求体,所以不能使用GET请求,因为GET没有请求体。会报400Bad Request:请求内容缺失。去掉注解,可以成功请求。
2.请求的是表单(POST第二种情况)报415:不支持的媒体类型。去掉注解,可以成功请求。
3.请求json时,成功获取信息打印如下:
在这里插入图片描述

因此,请求的是表单(POST第二种情况)和GET请求不需要加@RequestBody。请求的是json需要加@RequestBody注解。

当不加注解时,json请求时,虽然ok但是得不到信息:
在这里插入图片描述

@RequestBody String不能接收一个字段

当你只想要接收一个字段时,比如name字段
{
“name” : “zhangsan”
}
在这里插入图片描述
@RequestBody后接受参数是字符串String的话,会接收整个json,最好用map或者实体类型
在这里插入图片描述

@RequestParam

@RequestParam和什么都不加是类似,但它的存在是为了解决前后端请求参数名称不一致的情况。
比如:前端参数是studentName,后端参数是name,可以这样解决
在这里插入图片描述
参考:
https://www.bilibili.com/video/BV1uq4y1j7fS/?spm_id_from=333.337.search-card.all.click

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值