2015-09-25 136 views
1

的HAL規範鏈接HAL + JSON表示說:具有相同相對

注意:如果您不確定鏈路是否應爲單數,假設它 將有多個。如果您選擇單數,並且發現需要更改它,則需要創建新的鏈接關係或打破現有的 客戶端。

作出是否與特定版本的鏈接單個或多個僅特定資源表示中適用於使用的是相對的,還是它適用於使用該版本的任何資源 - 表示?

例如,如果我已經確定在某個資源X內部rel的下方的鏈接總是應該是多個,那麼這個約束是否僅適用於資源X,或者如果我碰巧在那裏使用item以及?

回答

3

鏈接關係類型獨立於資源表示進行定義。事實上,它們經常被獨立定義爲媒體類型,以便它們可以跨媒體類型使用。

另外要注意的鏈接關係「項目」已被定義和標準化見http://www.iana.org/assignments/link-relations/link-relations.xhtml

+0

我完全同意。自相矛盾應該與所使用的表示形式無關。但是我想知道HAL + JSON如何選擇物理代表鏈接和rels的含義。如果最終形成一個rel的多個鏈接(最初只有一個鏈接),那麼建議創建一個新的rel似乎意味着選擇一個特定的物理表示可能需要以後創建一個*全新的*關係,不想破壞客戶,*即使意思可能沒有改變*。我的解釋是否正確,或者我錯過了什麼? –

+0

@VivinPaliath在JSON中切換數組和對象是件痛苦的事情。最初的HAL規範是針對XML的,這在XML中不是問題,因爲rel只是鏈接元素的一個屬性。說實話,我從來沒有注意到HAL規範中的那條線。這是合理的指導,儘管你使用的是JSON,不管是否由於對象/數組的問題而使用JSON。 –

+0

IMO看起來像HAL + JSON選擇代表JSON鏈接的抽象泄漏;我認爲不應該僅僅因爲最初使用'{}'而不是'[]'來創建新的rel;關係的含義並沒有改變,這不會像你所說的那樣成爲XML的問題。僅僅因爲JSON問題,最終會導致多餘的rels。這就是爲什麼我想知道是否在JSON + HAL的上下文中,rel可以總是以某種方式表示,或者如果它只適用於特定的資源表示。爲了API一致性,我喜歡以前的選項。 –