如何在katharsis中获取用于分页的资源链接



我正在尝试分页。我所做的是有效的,但我对获取资源URL的方式有一些疑问。

在我的资源库中,我以一种懒惰的方式注入了一个ResourceRegistry(我知道这是一个循环依赖项),以获得我的资源的URL,然后我用它来生成我的链接。

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

它工作得很好,但循环依赖关系让我很困扰。是否有一些静态类可以获得资源URL。或者可能有一种完全不同的方式来处理这个问题?

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

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

@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 = "...";
        });
}

取自此处:

  • https://github.com/katharsis-project/katharsis-core/issues/307
  • https://github.com/katharsis-project/katharsis-core/issues/328

不过,手工制作链接似乎是必要的。

相关内容

  • 没有找到相关文章

最新更新