@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 数据转换为方法参数的实例,使得在控制器方法中能够方便地操作请求体中的数据。