java - 在获取 Spring Boot 请求中返回对象列表
问题描述
我创建了一个 Spring 服务来向前端返回通知列表。但是,为了更轻松地处理返回列表,我需要更改返回对象。但我不知道该怎么做。
目前返回列表如下所示:
[
{
"id": 24,
"titulo": "Titulo da Notificacao",
"mensagem": "Mensagem da Notificacao",
"dataCriacao": "2021-07-23 17:00:25.244-03",
"dataModificacao": null,
"status": true
},
{
"id": 25,
"titulo": "Titulo da Notificacao 2",
"mensagem": "Mensagem da Notificacao 2",
"dataCriacao": "2021-07-23 17:00:25.244-03",
"dataModificacao": null,
"status": true
}
]
我需要这样的反馈:
{
"notificacoes":
[
{
"id": 24,
"titulo": "Titulo da Notificacao",
"mensagem": "Mensagem da Notificacao",
"dataCriacao": "2021-07-23 17:00:25.244-03",
"dataModificacao": null,
"status": true
},
{
"id": 25,
"titulo": "Titulo da Notificacao 2",
"mensagem": "Mensagem da Notificacao 2",
"dataCriacao": "2021-07-23 17:00:25.244-03",
"dataModificacao": null,
"status": true
}
]
}
@RequestMapping(value = "/status/{status}", method = RequestMethod.GET, produces = { "application/json" })
public List<?> findAllByStatus(@PathVariable("status") Boolean status) {
return service.findAllByStatus(status);
}
谁能帮我?我想过创建一个包含通知列表的通知对象。但我认为有一种更简单的方法可以做到这一点......
解决方案
使用地图怎么样?
这将允许您设置键“notificacoes”并重用您当前拥有的方法,提供通知列表。
@RequestMapping(value = "/status/{status}", method = RequestMethod.GET, produces = { "application/json" })
public Map<String, List<Notification>> findAllByStatus(@PathVariable("status") Boolean status) {
Map<String, List<Notification>> response = new HashMap<>();
response.put("notificacoes", service.getNotifications());
return response;
}
推荐阅读
- azure - 如何将多个 json 文件导入/上传到 Azure Devops Pipeline Release and Builds?
- python - 不和谐.py | 如何获取公会中所有语音频道的列表
- three.js - 编辑器中 MeshStandardMateiral 中的模糊 envmap
- android - 将 .gradle 文件夹包含到我的 gitignore 中是否安全?如果是这样,为什么它不包含在由 flutter create myapp 命令生成的默认 gitignore 文件中
- javascript - 不同浏览器中的日期输入格式
- javascript - 一段jQuery代码来启用类选择器?
- javascript - 最佳实践:依赖于异步获取外部数据的 Javascript 类
- github - 减小 pytorch 库的大小
- reactjs - 是否可以在父组件上显示道具?
- java - 片段中的这个关键字没有得到实现,而