Grails 2.4.x附带了对HAL的支持。
尽管嵌入式资源存在一些问题(https://jira.grails.org/browse/GRAILS-10954),但我开始让它发挥作用。但是我仍然不确定如何处理分页链接(“prev”,“next”),因为它们显示在文档中。
HalJsonRenderer有什么办法可以帮助解决这个问题吗?
答案 0 :(得分:0)
我所做的是扩展HalJsonCollectionRenderer并覆盖此方法:
protected void writeLinkForCurrentPath(RenderContext context, MimeType mimeType, JsonWriter writer) {
final href = linkGenerator.link(uri: context.resourcePath, method: HttpMethod.GET.toString(), absolute: absoluteLinks)
final resourceRef = href
final locale = context.locale
def link = new Link(RELATIONSHIP_SELF, href)
link.title = getResourceTitle(resourceRef, locale)
link.contentType = mimeType ? mimeType.name : null
writeLink(link, locale, writer)
}
添加PREV和NEXT的链接以在需要时进行渲染。
为了做到这一点,我们需要访问查询字符串参数,可以在RenderContext对象中作为参数访问(context.getArguments())
效果很好,并不太复杂。
然而,如果这是另一种我很乐意知道的方式。