为什么参数上必须加@RequestBody?

简介: 为什么参数上必须加@RequestBody?
@PostMapping("/login")
    public Result<Map<String,Object>> login(@RequestBody User user){
        return Result.success();
    }

在这个 @PostMapping("/login") 的控制器方法中,使用 @RequestBody 注解的目的是将请求体中的 JSON 数据映射到方法参数 User user 上。

假设前端发送的 POST 请求体是一个包含用户信息的 JSON 数据,例如

{
  "username": "exampleUser",
  "password": "examplePassword"
}

通过使用 @RequestBody 注解,Spring 框架会尝试将这个 JSON 数据转换成 User 对象。而不使用 @RequestBody 的话,Spring 会默认将请求体中的参数作为表单数据处理,而不是 JSON 数据。


具体来说,@RequestBody 注解告诉 Spring 框架,要从请求体中获取数据,并将其转换成方法参数 user 的实例。这样,你就能够方便地在方法体内使用这个 user 对象,而不需要手动解析请求体中的 JSON 数据。


总结一下,使用 @RequestBody 的目的是让 Spring 自动将请求体中的 JSON 数据转换为方法参数的实例,使得在控制器方法中能够方便地操作请求体中的数据。


相关文章
|
6天前
|
XML JSON Java
@PostMapping 必须加上@RequestBody吗
@PostMapping 必须加上@RequestBody吗
|
6月前
|
XML JSON 数据格式
@RequestParam @RequestBody @PathVariable 等参数绑定
@RequestParam @RequestBody @PathVariable 等参数绑定
|
9月前
|
JSON 数据格式
Post与@RequestBody
Post与@RequestBody
|
7月前
|
Java
44SpringMVC - 参数绑定(Model / ModelMap)
44SpringMVC - 参数绑定(Model / ModelMap)
18 0
|
7月前
|
XML JSON Java
【Java用法】@RequestParam、@RequestBody、@ResponseBody和@PathVariable的使用与区别
【Java用法】@RequestParam、@RequestBody、@ResponseBody和@PathVariable的使用与区别
47 0
|
11月前
|
XML SQL JSON
@PathVariable、@RequestBody、@RequestParam、@ResponseBody、@Param的详解和用法
@PathVariable、@RequestBody、@RequestParam、@ResponseBody、@Param的详解和用法
125 0
|
12月前
@RequestBody注解
@RequestBody注解
|
JSON 前端开发 数据格式
@requestBody写与不写的情况
@requestBody注解的作用 主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的); 1.使用@requestBody. (1)当请求contentType为:application/json类型的请求,数据类型为json时, json格式如下
|
JSON 数据格式
@RequestBody和@ResponseBody兄弟俩的作用,@RequestBody又该怎么用
@RequestBody和@ResponseBody兄弟俩的作用,@RequestBody又该怎么用
@RequestBody和@ResponseBody兄弟俩的作用,@RequestBody又该怎么用
|
JSON 前端开发 fastjson
使用@ResponseBody后返回500错误
使用@ResponseBody后返回500错误
166 0