Cre*_*ter 0 java rest spring json controller
我有一个基本的Rest Controller,它将json中的模型列表返回给客户端:
@RestController
public class DataControllerREST {
@Autowired
private DataService dataService;
@GetMapping("/data")
public List<Data> getData() {
return dataService.list();
}
}
Run Code Online (Sandbox Code Playgroud)
以这种格式返回数据:
[
{
"id": 1,
"name": "data 1",
"description": "description 1",
"active": true,
"img": "path/to/img"
},
// etc ...
]
Run Code Online (Sandbox Code Playgroud)
这非常适合开始,但我想要返回这种格式的数据:
[
"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 ...
]
Run Code Online (Sandbox Code Playgroud)
但我不确定这个问题,因为我不能将任何课程作为JSON返回......任何人都有建议或建议?
问候和感谢!
"因为我无法将任何课程归还为JSON" - 谁说?
事实上,这正是你应该做的.在这种情况下,您将需要创建一个包含所需字段的外部类.它看起来像这样:
public class DataResponse {
private Boolean success;
private Integer count;
private List<Data> data;
<relevant getters and setters>
}
Run Code Online (Sandbox Code Playgroud)
您的服务代码将更改为以下内容:
@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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5219 次 |
| 最近记录: |