我正在指定具有可查看,創建,編輯或刪除的資源的休息系統。我試圖尊重休息和http方法的語義。HTTP REST如何在最終的URL未知時創建新的資源
如果資源被http://mydomain.org/oid_bar確定,我可以用這些方法來管理它: - 將創建或更新這個資源 - DELETE刪除該資源 - 獲取返回此資源
但是,如果你需要創建一個你還不知道的新資源,你如何繼續?當您將對象添加到數據庫並且主鍵由數據庫自動生成時,這種情況非常常見。在我的情況下,我的後端是一個數據庫。
我想到了一個資源爲http://mydomain.org/next_free_oid的解決方案,該解決方案返回下一個空閒oid並增加其值。這個資源只會響應POST請求。通過返回的oid,我可以向目標URL發送PUT請求。
另一種解決方案是發送POST請求到http://mydomain.org/。這個請求會用一個生成的oid創建一個資源並返回oid。
先前解決方案的一個變體發送POST請求http://mydomain.org/create_object
第三種解決方案是我的首選之一。但是它是否符合HTTP/REST使用URL作爲服務?
每個評論都是值得歡迎的。
問候, 的Mickaël
太棒了!非常感謝。 – mvera
很高興能幫到你! –