【问题标题】:Should the links in a REST API be placed in the response header or body?REST API 中的链接应该放在响应标头还是正文中?
【发布时间】:2020-04-06 15:53:15
【问题描述】:

对于将指向其他资源的链接放在 REST API 响应中的何处,是否存在最佳做法?当我查看像 HAL 这样的标准时,它们似乎总是将链接放在正文中,这有什么原因吗?我正在 JAX-RS 中开发一个 API,因此标题中的链接真的很容易,所以如果这是一个可行的选项,那就太好了

【问题讨论】:

    标签: json rest restful-url


    【解决方案1】:

    如果您有实际的超媒体内容类型,那么,是的,链接应该在正文中。拥有链接类型是超媒体数据类型的一部分。

    但是,并非所有媒体类型都支持超媒体(例如,图像),因此这些类型的任何相关链接只能属于标头。

    最后,正如您所说,“这真的很容易”,那么无论如何,只需使用标题链接即可。

    您也可以将它们放在这两个地方。在您的系统中为您自己使用标题链接(即您可以假设它们在那里并利用它们),如果这不是一个巨大的负担,请在您发布的超媒体文档中填充相同的链接。

    【讨论】:

    • 感谢您的回答!客户端将无法访问这些,还是只是在标头中查找它们是不标准的?
    • 这是一个文档问题。回复就是回复,它不像标题不会在那里。但也许对于客户端而言,有效负载链接更容易使用,就像对您而言,标题链接更容易使用。消息不在乎。
    • Ketting 不关心链接的位置,因此您甚至可以稍后移动它们,这不被视为 BC 中断。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 2016-05-02
    相关资源
    最近更新 更多