Spring可以通过使用@RequestBody
注解来接收JSON参数。
首先,需要确保项目中已经配置了相关依赖,比如spring-web
和jackson-databind
。
然后,可以在Controller的方法参数上使用@RequestBody
注解,将JSON参数映射到一个Java对象上。示例如下:
@RestController
public class MyController {
@PostMapping("/example")
public void exampleMethod(@RequestBody MyObject myObject) {
// 处理接收到的JSON参数
}
}
在上述示例中,@RequestBody
注解将会自动将请求体中的JSON数据转换为MyObject
类型的对象,并将其传递给exampleMethod
方法。
如果需要接收的JSON数据是一个列表,可以使用List
或Array
类型作为方法参数,如下所示:
@RestController
public class MyController {
@PostMapping("/example")
public void exampleMethod(@RequestBody List<MyObject> myObjects) {
// 处理接收到的JSON参数列表
}
}
注意,要使Spring能够正确地将JSON转换为Java对象,JSON字段的名称应与Java对象中的属性名称匹配。可以使用@JsonProperty
注解在Java对象中指定JSON字段的名称,以便进行映射。示例如下:
public class MyObject {
@JsonProperty("name")
private String myName;
// getter和setter方法
}
在上述示例中,name
字段的值将会映射到myName
属性中。