当null或为空时,Spring Data ReST ref链接遗漏

时间:2014-07-01 09:54:35

标签: spring rest spring-hateoas

我一直在搜索文档和Restbucks implementation by Oliver,但我似乎无法在生成的Spring REST存储库资源上配置链接。 (我可以添加它们,但不能通过ResourceProcessor删除它们,因为在转换之前调用处理器的东西)

我的情况很简单,就是我希望省略指向null或空集合的对象的rel链接(例如在图形节点父/子结构的情况下)

有人会如何煽动我如何实现这一目标?理想情况下,我想在Restbucks自述文件中提出一些建议(但我找不到它),其中将拾取自定义RestResourceEntityLinks扩展,并且根据我的情况应用于所有域对象,从所述实现生成链接。

但也许我还有一种更容易接触的方式?或者也许让这些链接指向一个空数组或null是一个有效的hateoas ref所以我应该留下它并继续前进?

提前致谢

1 个答案:

答案 0 :(得分:2)

一般来说,您应该只需调用Resource.getLinks()即可删除链接,并且可以使用已返回的List。如果您认为Resource.removeLink(String rel)有意义,请随意为此创建一张票。

然而,我认为指向空资源的链接是有意义的,因为链接的存在在告诉客户端它可以与之交互的相关资源方面起着重要作用。换句话说:如果链接不可用,客户端将如何找到分配相关资源的可能性,或者向当前空集合添加元素。

链接不仅代表资源的当前状态,还代表客户下一步应该做什么。以RESTBucks项目中的payment link为例。如果尚未付款,它仅在场。完成后,链接甚至消失。这实际上与你拍摄的内容相反:)。