簡體   English   中英

API設計:HATEOAS,json,版本控制和媒體類型

[英]API design: HATEOAS, json, versioning, and media types

我喜歡REST HATEOAS概念,通過超鏈接使您的API可被發現。 人們喜歡使用帶有ATOM格式的XML鏈接,甚至可能不需要對API進行版本控制。 但是,我只是在做JSON而且我想對我的API進行版本控制並仍然使用HATEOAS。

似乎最好的做法是在application/vnd.me.v1+json使用供應商媒體類型,但是所有這些都是關於JSON中的超鏈接的格式以及HAL,JSON + Collecton和Siren之類的內容。它們有自己的媒體類型。

所以,這是我的困惑。 首先,為什么要通過媒體類型指定格式? 為什么不能在JSON中包含鏈接只是客戶遵循的約定? 是不是hm-json瀏覽器如何發現鏈接?

並且,如果必須將其定義為媒體類型,那么這樣的工作會起作用嗎?

application/vnd.me.v1.hal+json

任何人?

首先,為什么要通過媒體類型指定格式?

是的,您可以對鏈接的格式有約定,但是,只有在解壓縮HTTP消息的主體后才能發現任何約定。 由於媒體類型是標題,因此可以作為整個單元接受或拒絕消息正文。 這使得處理請求對於不支持所提供的媒體類型的消費者更有效。

應用/ vnd.me.v1.hal + JSON

據我所知,媒體類型的范圍可以適合您所描述的API。 因此,您可以選擇具有單個表示的媒體類型,一組表示全部遵循相同服務的表示,或整個組織的單一媒體類型。

考慮到媒體類型, 這是一篇很好的SO帖子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM