这样做的原因很简单:关联实体的关系名称是从包含类的属性名称派生的。因此,无论
PersonDetails并且
PersonChildren要创建出站链接到一个
Person名为
person。如果我们渲染的话,看起来会像这样
{ _links : { person : { href : … }, <- the one from PersonDetails person : { href : … } <- the one from PersonChildren}这当然是无效的。而且,将两个链接排列在一个数组中将使您无法再区分两个链接(哪个来自
PersonDetails哪个链接,哪个来自哪个链接
PersonChildren。)。
因此,这里有一些选择:
- 手动命名这些类型的关系 。您可以使用注释
Person
属性,@RestResource
并将注释的属性配置为rel
以外的其他值person
。 - 您希望两者都不输出 。可以使用完全相同的注释来完全阻止链接的呈现。只需将
exported
标志设置@RestResource
为false
,链接将不会呈现。如果例如from的指针PersonDetails
仅在代码内相关,而实际上不在JSON表示中,则这可能很有用。



