1
我有兩個已經現存的對象,如何「正確」現有實體添加到集合REST風格
/foo/1 GET
/bar/1 GET
每個foo
有bar
S和每個bar
有foo
秒。如何將我的bar
添加到我的foo
的bar
集合中?
這似乎是一個可能的解釋:
/foo/1 PATCH { bars: [1] }
,但它打破了想法,連接到該foo
bar
S的關係通過/foo/1/bar/
顯示。這也似乎是有效的:
/foo/1/bar/ POST { id: 1, ... }
,並符合最接近wikipedia描述,但因爲我們沒有創造新的bar
這是一個有點混亂。這也造成了一種奇怪的含糊性,因爲通過這種方法也可以創建一個新的bar
分配給foo
。最後,還有:
/foo/1/bar/1 POST
我只是普通的像由於其簡單,但不與維基百科的描述一致,並沒有給出明顯的方式從列表中刪除bar
(因爲DELETE
將刪除bar
)。
我意識到REST是一種架構風格,而不是一個明確的標準,但必須有一些最不成問題的方式來做到這一點。
雖然這提供了一個解決方案,這是一個有點難看,並創建了一大堆有關的對象那隻不過是外鍵。如果可能的話,我想避免將這些中間對象直接暴露給前端,以避免大量額外的調用。 – astex