gpt4 book ai didi

Java - Spring返回JSON对象/数组

转载 作者:行者123 更新时间:2023-12-01 07:20:11 24 4
gpt4 key购买 nike

我有一个基本的 Rest Controller ,它将 json 格式的模型列表返回给客户端:

@RestController
public class DataControllerREST {

@Autowired
private DataService dataService;

@GetMapping("/data")
public List<Data> getData() {
return dataService.list();
}

}

返回以下格式的数据:

[

{
"id": 1,
"name": "data 1",
"description": "description 1",
"active": true,
"img": "path/to/img"
},
// etc ...

]

这非常适合开始,但我考虑返回这种格式的数据:

[
"success": true,
"count": 12,
"data": [
{
"id": 1,
"name": "data 1",
"description": "description 1",
"active": true,
"img": "path/to/img"
},
{
"id": 2,
"name": "data 2",
"description": "description 2",
"active": true,
"img": "path/to/img"
},
]
// etc ...

]

但我不确定这个问题,因为我无法以 JSON 形式返回任何类...有人有建议或建议吗?

问候和感谢!

最佳答案

“因为我无法将任何类返回为 JSON” - 谁说的?

事实上,这正是您应该做的。在这种情况下,您将需要创建一个包含所有所需字段的外部类。它看起来像这样:

public class DataResponse {

private Boolean success;
private Integer count;
private List<Data> data;

<relevant getters and setters>
}

您的服务代码将更改为如下所示:

@GetMapping("/data")
public DataResponse getData() {
List<Data> results = dataService.list();
DataResponse response = new DataResponse ();
response.setSuccess(true);
response.setCount(results.size());
response.setData(results);
return response;
}

关于Java - Spring返回JSON对象/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41152938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com