2

我正在尝试进行分页。我有什么工作,但我对获取资源 URL 的方式有些怀疑。

在我的 Resource Repository 中,我以 Lazy 方式注入 ResourceRegistry(我知道这是一个循环依赖项)以获取我的 Resource 的 URL,然后我用它来生成我的链接。

  String resourceUrl = resourceRegistry.getResourceUrl(Book.class);

它工作正常,但循环依赖困扰着我。是否有一些静态类来获取资源 URL。或者也许有一种完全不同的方法来解决这个问题?

4

1 回答 1

0

也许这不是一个令人满意的答案,但是 kathasis 确实在它的序列化程序中生成了链接。您可能可以扩展 kathasis 的序列化程序之一并使其了解可选的元信息,其中包含可用项目的总数,无论如何客户端都需要知道这些信息。根据这些数据,您可以为上一页和下一页创建顶级链接。在 kathasis 序列化程序中,resourceRegistry无论如何都将可用,并且QueryParams包含原始分页参数。不过,这一切都是假设性的。

kathasis 开发人员建议的解决方案是:

@JsonApiFindAll
public JsonApiResponse findAll() {
    return new JsonApiResponse()
        .setEntity(Collections.singletonList(new Task(1L, "John")))
        .setLinksInformation(new LinksInformation() {
            public String self = "...";
            public String first = "...";
            public String prev = "...";
            public String next = "...";
            public String last = "...";
        });
}

取自这里:

尽管如此,似乎还是需要手工制作链接。

于 2016-05-24T12:27:07.560 回答