gpt4 book ai didi

api - REST - 如何格式化内容中的链接

转载 作者:行者123 更新时间:2023-12-04 21:47:14 26 4
gpt4 key购买 nike

在 REST 中,一切都与链接有关。基本上,API 用户只需要一个链接,即顶级链接。这通常是 http://server/api/或类似的东西。在浏览层次结构时发现所有其他链接。例如,GET/api/可能会提供指向/api/users/和/api/images/的链接,而/api/users/可能会提供指向/api/users/john/的链接,依此类推。

也就是说,我想知道是否有某种标准来格式化这些链接。毕竟,如果都是关于链接的,爬虫应该能够从顶部开始发现系统中的所有资源吗?

我做了一些研究wrt。 XML 媒体类型,并且找不到任何注意到的标准。让我们选择/users/资源。有的写

<users>
<user name='john' uri='/users/john'/>
<user name='steve' uri='/users/steve'/>
</users>

别人写
<users>
<user name='john' link='/users/john'/>
<user name='steve' link='/users/steve'/>
</users>

其他人使用 xlink,例如:
<users>
<user name='john' xlink:href='/users/john'/>
<user name='steve' xlink:href='/users/steve'/>
</users>

等等。

我可能在这里一无所知,但不应该有某种标准来具体说明如何格式化指向其他资源的链接,因此不知道需要如何格式化数据?换句话说,应用程序 A1 的 API 的爬虫 X 可能不适用于应用程序 A2 的 API,因为 A1 对其资源的链接的格式与 A2 不同。

在上面,我只讨论了 XML 媒体类型。当您采用 JSON 时,该领域中传播的版本甚至更多。

为什么 REST 没有指定资源的相关资源的链接应该如何格式化?

最佳答案

返回 application/xml 的问题在于没有为指定链接定义标准语义。这就是为什么它不是一种很好的超媒体媒体类型。 Xhtml 是一种更好的方法,它确实为链接指定了一些规则。 HAL是另一个更简单的好方法。
在文档中指定链接时需要考虑很多事情,而不仅仅是 href。 Mike Amundsen 与 hfactor 做了一些很棒的工作谈论将链接嵌入文档的各个方面。
链接最重要的部分是 John Howes 提到的 rel。 rel 可以是一个全局定义的,如定义的 here作为 IANA。或者,只要您遵循 RFC 5988 中定义的扩展链接关系规则,它们就可以是您自己的自定义对象。 . rel 文档告诉客户端开发人员他或她需要了解的有关激活该链接的所有信息。

关于api - REST - 如何格式化内容中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6724046/

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