我正在尝试进行分页。我所拥有的是有效的,但我对获取资源URL的方式有一些疑问。
在我的资源存储库中,我以一种惰性的方式注入一个ResourceRegistry (我知道这是一个循环依赖),以获得我的资源的URL,然后我用它来生成我的链接。
String resourceUrl = resourceRegistry.getResourceUrl(Book.class);它工作得很好,但循环依赖让我感到困扰。是否有一些静态类来获取资源URL。或者,也许有一种完全不同的方法来解决这个问题?
发布于 2016-05-24 20:27:08
也许这不是一个令人满意的答案,但是katharsis确实在它的序列化程序中生成了链接。您可能会扩展katharsis的一个序列化程序,让它知道可选的元信息,其中包含可用项的总数,而客户端无论如何都需要知道这些信息。根据这些数据,您可以为上一页和下一页创建顶级链接。在katharsis序列化程序中,包含原始分页参数的resourceRegistry和QueryParams都将可用。不过,这一切都是非常假设的。
katharsis devs建议的解决方案是:
@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://stackoverflow.com/questions/37310645
复制相似问题