@RequestBody注解的简短介绍

该注解标注在控制器方法的参数前,并且只能存在一个

使用场合:

        1.请求的请求方式为post

        2.请求体内容类型为 application/json

知识补充:

首先普通的请求方式有两种(这里不介绍put、delete等方式):get、post请求

get请求的请求报文主要包括两部分:请求行,请求头

而post请求的请求报文主要包括三部分:请求行,请求头,请求体

请求行中包含了:请求的方式、请求的资源路径、请求的协议和版本号

请求头中包含各种键值对:可接收的数据类型(Accept),客户端信息,和请求体内容类型(Content-Type)等

可接收的数据类型:mvc框架的底层会根据 客户端指定可接收的数据类型,以及数据类型的权重来决定应该返回哪种类型的数据给客户端(这就是为什么有时候浏览器和apiPost等工具接收到的数据类型不一样)

请求体内容类型:数据类型(Content-Type)就声明了post请求的请求体的数据类型

举例:

        在使用restTemplate的postForObject方法时会发送一个post请求,并自动将你想要发送的数据转变为json格式,之后设置Accept=application/json、Content-Type=application/json 

debug数据展示:

此时服务端的控制器方法参数前 如果没有标注@RequestBody 则会导致接收不到数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值