在get-spring引导请求中返回对象列表

kuarbcqp  于 2021-09-13  发布在  Java
关注(0)|答案(2)|浏览(241)

我创建了一个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);
    }

有人能帮我吗?我考虑创建一个包含通知列表的通知对象。但我认为有一个更简单的方法来做到这一点。。。

zc0qhyus

zc0qhyus1#

olá,romeu,o vocêestávevovendo uma lista的问题,几十个孩子在学校里学习。
提波算法:

public class Notificacoes {
    private List<Notificacao> notificacoes = new ArrayList<>();

    // Construtores, gets e sets
}

e em seguida chamar无seu控制器:

@RequestMapping(value = "/status/{status}", method = RequestMethod.GET, produces = { "application/json" })
public ResponseEntity<Notificacoes> findAllByStatus(@PathVariable("status") Boolean status) {
    return ResponseEntity.ok(new Notificacoes().getNotificacoes().addAll(service.findAllByStatus(status)));
}

当然,这是一个法泽的形式,一个理想的意甲冠军,就像卡马达斯一样,这是为了解决欧苏的问题。

sbtkgmzw

sbtkgmzw2#

用Map怎么样?
这将允许您设置键“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;
    }

相关问题