gpt4 book ai didi

json - 标题或实体中的 Hateoas 链接

转载 作者:行者123 更新时间:2023-12-01 23:49:55 25 4
gpt4 key购买 nike

我已经看到了两种添加 JSON REST Hateoas 的主要方法,但我不确定哪种方法更标准,也不确定每种方法的优缺点。

我看到的典型方法(Atom 链接)是将返回的实体附加到名为 links_links 的字段。该字段是 rel=<rel>href=<href> 对的数组。

但我也看到 (Link Headers) 链接放入名为“Link”的标题值中。 Link 是一个格式为 <hef>; rel=<rel> 的集合。

另外,我注意到在 JAX-RS 中似乎没有添加带有完全限定 href 的 Atom 链接,只有路径。我所说的完全合格是指计划和权限包括在内。在为 HATEOAS 使用 Atom 链接时,为 href 拥有完整的 URI 是否被视为不好的做法?

最佳答案

我知道的所有 HATEOAS 格式都使用链接关系 RFC https://tools.ietf.org/html/rfc5988 来抽象地定义链接关系。这个 rfc 描述了 Link header ,这是一种传达链接关系的好方法。其他格式以不同的方式序列化/呈现链接。 _links 可能与 HAL+JSON 格式最相关,而链接则被 Siren 和 COLLECTION+JSON 使用(它也允许链接头)。

这都是一个偏好问题。很多时候它归结为询问您是否将链接关系视为资源的元数据或资源的实际一部分。有时两者兼而有之。 HTML 主要将它们视为关系的一部分,并且在这方面取得了巨大的成功。将它们放在资源的响应主体中可以很容易地在浏览器中看到它们,而标题则有点难看。

关于 URL 是绝对的、方案相对的、根相对的、路径相对的。这又是所有偏好。我想记住的是,资源并不总是从请求中检索,因此相对路径通常是无用的。例如,将资源存储在缓存或磁盘上。在大多数情况下,绝对或方案相对 URL 更易于跨系统移植,我个人更喜欢它们而不是根或路径相对 URL。在一些有趣的场景中,您可能实际上希望 URL 是相对的,以便它们根据执行环境针对不同的目标。最近在 HAL 论坛上有一个有趣的讨论:https://groups.google.com/forum/#!topic/hal-discuss/_rwYvjLOT7Q

关于json - 标题或实体中的 Hateoas 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27022992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com