2016-10-18 43 views
3

GET/template/settings上的GET請求將返回組織實體的默認設置。我有一個用例,其中所有組織都將具有默認設置。如果沒有設置,組織首次嘗試訪問GET /模板/設置,我們需要創建設置並返回它們。這是一個副作用。這種情況下更好的設計是什麼?RESTful設計用於在缺失用例時創建

模板是一個新功能,我們將爲我們選擇的組織啓用。開啓該功能的特定事件需要POST,這將是一個很好的RESTful設計。一旦所有現有組織都啓用了模板,則添加到系統中的任何新組織都不會發生此事件。所以我需要create-if-absent結構。

這是重定向到自己創造的情況嗎?

+0

當某人嘗試獲取尚未存在的東西時,您如何知道設置? – bhspencer

+2

這應該在他的客戶端處理。獲取,如果404,發佈創建。 –

+0

或者只是簡單發佈創建,如果客戶端知道它沒有設置。獲得應該是冪等的 –

回答

1

我會推薦以下內容。

  1. 將有一個不可變的資源代表任何新組織將獲得的初始設置。

  2. 當新組織獲取其設置時,它將收到此資源的表示形式。

  3. 當該組織對這些設置進行PUT或PATCH更新時,將爲該特定組織創建一個不可變資源的副本,並更新該副本。

  4. 當組織再次獲取其設置時,它將收到其自己更新資源的表示。