2013-02-26 57 views
2

我想設計一個REST API來啓動數據庫。我找不到合適的http方法(又名動詞)。啓動服務的Http/REST方法

我目前考慮:

START /databases/mysampledatabase 

我已經經歷了幾個RFC文檔瀏覽,但後來我覺得這裏有人可能指向我一個事實上的標準動詞。

方法我已經放棄(之前我厭倦了看):

2616個 OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT

RFC 2518 PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK

RFC 3253 報告 結帳 CHECKIN 取消籤 MKWORKSPACE UPDATE LABEL MERGE 基線控制 MKACTIVITY

+0

我不清楚你的標準是什麼。你似乎已經用盡了所有正式批准的動詞。 – 2013-02-26 23:56:23

+0

我不相信我有。此外,我正在尋找符合其他API,不一定遵守W3C標準或RFC /草案。我相信即使是在標準化之前使用的PATCH方法也是如此。 – 2013-02-26 23:58:05

+0

我考慮過:START,EXECUTE,RUN – 2013-02-26 23:58:42

回答

4

有一堆這裏想缺陷。首先,除了CRUD之外,額外的HTTP動詞應該被認爲是不安寧的。

因此,有兩種方法我可以解釋這個問題,我有兩個答案:

1.什麼是用於啓動服務

沒有什麼是很喜歡最合適的HTTP方法你需要,我會建議使用POST

2.什麼是啓動服務

首先,你不應該看到「啓動服務」作爲行動的好RESTful方式。將「狀態」(正在啓動或停止)視爲正在更改的資源並更新資源會更容易。

所以在這種情況下,每個服務應該有一個獨特的URI。對URI的GET可以返回類似:

{ "status" : "stopped" } 

你只需要改變「停止」到「開始」,PUT新的資源..然後該服務會自動開始運行。

我不知道這是怎麼雖然有用的..我不是一個REST狂熱者,我認爲一個簡單的POST是最好的方式去..