我喜歡REST HATEOAS使您的API可通過超鏈接發現的概念。人們喜歡使用ATOM格式的XML進行鏈接,您甚至可能甚至不需要對您的API進行版本管理。但是,我只是在做JSON,我想對我的API進行版本化,並且仍然在做HATEOAS。API設計:HATEOAS,json,版本控制和媒體類型
看來最好的做法是使用供應商的媒體類型,如application/vnd.me.v1+json
,但是這裏有所有關於JSON超鏈接和HAL,JSON + Collecton和Siren等都沒有的格式。媒體類型。
所以,這是我的困惑。首先,爲什麼通過媒體類型指定格式?爲什麼不能在JSON中包含鏈接只是客戶遵循的慣例?這不就是hm-json瀏覽器如何發現鏈接嗎?
而且,如果它必須被定義爲媒體類型,就像這樣的工作?
application/vnd.me.v1.hal+json
有人嗎?
謝謝,您的解釋和鏈接一直都很有見地。就第二個問題而言,如果客戶端了解HAL並將application/hal + json視爲媒體類型,則它可以自動發現鏈接,但是當媒體類型爲application/vnd.me時,同一客戶端會理解並自動發現HAL格式鏈接。 v1.hal + JSON? –
我可能是錯的,但我不這麼認爲。 IANA文件和支持標準媒體類型。所以,我希望這些支持,但在HTTP規範中,它似乎並沒有表明消費者可以自動理解媒體類型(除了類型/格式)的特殊格式。 –
現在我很困惑。那麼,hal + json對媒體類型有什麼意義呢? –