@RequestBody
注解是 Spring 框架中用于绑定 HTTP 请求体到方法参数的注解。当你在 Spring MVC 控制器中使用 @RequestBody
注解时,Spring 将会尝试将请求体中的数据转换成指定类型的对象,并将其作为方法的参数传递给对应的处理方法。
通常情况下,@RequestBody
注解常用于处理 POST 请求,特别是当请求的 Content-Type 是 application/json 或 application/xml 时,可以将请求体中的 JSON 或 XML 数据绑定到方法参数中。
例如,假设有一个 JSON 请求体如下:
{
"name": "John",
"age": 30
}
你可以在控制器方法的参数中使用 @RequestBody
注解来接收这个 JSON 数据,并将其转换成一个 Java 对象:
@RestController
public class MyController {
@PostMapping("/example")
public ResponseEntity<String> handleRequest(@RequestBody MyRequestObject requestObject) {
// 处理请求体中的数据
return ResponseEntity.ok("Received data: " + requestObject.getName() + ", " + requestObject.getAge());
}
}
在这个例子中,MyRequestObject
类是一个简单的 POJO 类,用来表示请求体中的数据:
public class MyRequestObject {
private String name;
private int age;
// 省略 getter 和 setter 方法
}
使用 @RequestBody
注解,Spring 将会自动将请求体中的 JSON 数据转换成 MyRequestObject
类的实例,并传递给 handleRequest
方法