0
点赞
收藏
分享

微信扫一扫

@RequestBody注解的简短介绍

静悠 2022-03-25 阅读 98

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

使用场合:

        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 则会导致接收不到数据

举报

相关推荐

0 条评论