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

时间:2016-05-18 21:47:25

标签: java katharsis

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

从这里采取:

仍然需要手工制作链接。