2013-02-26 31 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是最好的方式去..