自链接在超媒体 API 中的重要性是啥?

Posted

技术标签:

【中文标题】自链接在超媒体 API 中的重要性是啥?【英文标题】:What is the importance of the self link in hypermedia APIs?自链接在超媒体 API 中的重要性是什么? 【发布时间】:2012-12-20 12:52:44 【问题描述】:

我在 REST 上阅读的所有文章和书籍都重复了将“self”rel 链接添加到您的超媒体响应的重要性,但它们都清楚地说明了原因和用例。

为什么要添加自我链接,它有什么用处?

【问题讨论】:

【参考方案1】:

返回资源时,它可能不是完整的表示。 self 链接应提供一个 URL 以访问该完整表示

例如

GET /objects

[
  
    "name": "tech",
    "links": [
      "rel": "self",
      "href": "/objects/1"
    ]
  ,
  
    "name": "book",
    "links": [
      "rel": "self",
      "href": "/objects/2"
    ]
  
]

GET /objects/1


  "name": "tech",
  "ratio": 1,
  "precision": 2,
  "links": [
    
      "rel": "self",
      "href": "/objects/1"
    
  ]
      

【讨论】:

【参考方案2】:

主要原因是客户端(甚至某些服务器)没有将表示的位置与表示一起存储。例如,如果您wget http://.../foo.json,表示将保存到磁盘,但获取它的 URI 不会。如果表示中没有嵌入“自我”链接,则会导致两个问题:

    文档中的相对链接可能不再具有解析的基础,因此将被“破坏”;和

    客户端将没有嵌入式概念,例如去哪里。 PUT 如果他们修改了文档,则将其返回给服务器。少数客户独立维护这些信息,但大多数客户不这样做。

重要的是要理解,表示可能在 HTTP 对话之外存在,甚至可以通过其他协议(电子邮件、FTP、书本等)传输。因此,经验丰富的媒体类型设计师通常会包含“自我”链接。

【讨论】:

以上是关于自链接在超媒体 API 中的重要性是啥?的主要内容,如果未能解决你的问题,请参考以下文章

ChatGPT如何批量撰写最新的热点自媒体文章

渠道运营之重要性

请帮助 Hadoop 中的 Shuffle 和 Sorting 的必要性是啥?

访问社交媒体管理网站上的原始 URL

DX12是啥显卡?DX12是啥意思?

奔腾4的CPU扩展指令集是啥