Spring Boot 处理 JSON 格式列表的示例:HttpMessageNotReadable 错误解决方案
以下是一个使用 Spring Boot 的示例,其中包含一个使用 JSON 格式的列表:
@RestController
public class MyController {
@GetMapping("/list")
public List<MyObject> getList() {
List<MyObject> list = new ArrayList<>();
list.add(new MyObject('obj1', 1));
list.add(new MyObject('obj2', 2));
list.add(new MyObject('obj3', 3));
return list;
}
@PostMapping("/list")
public void postList(@RequestBody List<MyObject> list) {
// process the list
}
public static class MyObject {
private String name;
private int value;
public MyObject(String name, int value) {
this.name = name;
this.value = value;
}
// getters and setters
}
}
在上面的代码中,MyController 类包含两个方法:
getList()方法返回一个包含 3 个MyObject对象的列表。postList()方法接受一个List<MyObject>对象作为请求体,并对其进行处理。
要使用 getList() 方法,只需向 /list 发送 GET 请求即可。响应将包含一个 JSON 格式的列表,如下所示:
[
{
"name": "obj1",
"value": 1
},
{
"name": "obj2",
"value": 2
},
{
"name": "obj3",
"value": 3
}
]
要使用 postList() 方法,需要向 /list 发送 POST 请求,并将一个 JSON 格式的列表作为请求体发送。例如,以下是一个有效的请求体:
[
{
"name": "obj1",
"value": 1
},
{
"name": "obj2",
"value": 2
},
{
"name": "obj3",
"value": 3
}
]
请注意,MyObject 类必须具有默认构造函数和 getter / setter 方法,以便 Spring Boot 可以正确地将 JSON 转换为 Java 对象。
原文地址: https://www.cveoy.top/t/topic/fY87 著作权归作者所有。请勿转载和采集!