Grails 2.4.x附带了对HAL的支持。

尽管嵌入式资源存在一些问题( https://jira.grails.org/browse/GRAILS-10954 ),但我还是开始使它工作。 但是我仍然不确定如何处理分页链接(“上一个”,“下一个”),如文档中所示。

HalJsonRenderer有什么办法可以帮助这一点?

#1楼 票数: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的链接以在需要时呈现。

为此,我们需要访问querystring参数,这些参数可以作为RenderContext对象(context.getArguments())中的参数进行访问。

它工作得很好,并且不太复杂。

但是,如果这是另一种方式,我将很高兴知道。

  ask by Rafael translate from so

未解决问题?本站智能推荐:

2回复

为Grails 2.4.X配置HAL JSON渲染器

我从Grails 2.4.X上的HAL Json开始。 我看到我必须在Spring资源中为每个域实体包括bean定义,例如: 我可能要避免这种情况,因为我最终会遇到大量的错误资源文件...是否可以避免这种情况?
1回复

将应用程序从Grails 2.0.x升级到2.4.x

我在实现InitializingBean接口的服务类上遇到问题,因此实现了afterPropertiesSet方法。 然后将服务注入到控制器中 在我的情况下,afterPropertiesSet方法引用了一个调用.list方法的域类。 在2.0.4中,一切进展顺利:afterPro
1回复

如何在HAL中获取链接资源的关联名称

我正在创建用于项目任务的API。 它具有一个TasksController,如下所示。 我正在使用WebApi.Hal生成超媒体,该服务还支持hal+json和hal+xml media types 。 以下是我目前对GET请求http:// localhost:51910 / api
1回复

HAL中的HATEOAS POST链接

如何在HAL中描述POST链接? 我正在设计一个具有HATEOAS约束的RESTful API,类似于Wikipedia的HATEOAS示例,但以HAL JSON表示(为清楚起见,删除了方案,主机等): 要执行“转移”操作,客户端大概会执行以下操作: 通过GET调用“转移”
1回复

Grails在单元测试2.4.x中将服务注入域

这是包含一个简单的springSecurityService的域类 简单单位规格 我想测试一个简单的Login.save(),但意识到并没有注入springSecurityService,因此想了解将服务注入域对象以进行单元测试的最佳方法。 有什么想法,建议吗?
2回复

如何在不使用@EnableHypermediaSupport和Spring hateoas的情况下启用HAL渲染?

使用@EnableHypermediaSupport(type = HypermediaType.HAL) Spring hateoas提供了一种简单方便的方法来启用HAL渲染。 注释触发了一些配置魔法,这里解释: https : //github.com/spring-projects/
1回复

用HAL呈现分页资源的正确方法是什么?

这听起来像是一个菜鸟问题,但我想知道以HAL格式显示分页资源的最佳方法是什么? 现在,我正在使用Spring HATEOAS API将Page对象转换为资源PagedResourcesAssembler#toResource(Page<T>, ResourceAssembler&l
1回复

HAL规范-自链接应包含查询参数吗?

遵循HAL规范 , 自我链接应包含查询参数,还是可以链接到第一页? 谢谢 举一个例子: 请求: my-service/movies/123/subtitles?page=3 实际的JSON响应: