用于启动服务的Http / REST方法

时间:2013-02-26 23:52:32

标签: http rest

我想设计一个REST API来启动数据库。我找不到合适的http方法(又名动词)。

我目前正在考虑:

START /databases/mysampledatabase

我浏览过一些RFC,但后来我认为有人可能会指出我是事实上的标准动词。

我丢弃的方法(在我厌倦了之前):

RFC 2616 OPTIONS 得到 头 POST 放 删除 跟踪 CONNECT

RFC 2518 PROPFIND PROPPATCH MKCOL 复制 移动 锁 UNLOCK

RFC 3253 报告 查看 报到 取消签 MKWORKSPACE UPDATE 标签 合并 基线控制 MKACTIVITY

1 个答案:

答案 0 :(得分:7)

这里有一堆思考缺陷..首先,额外的HTTP动词(除了CRUD之外)应该被视为不安宁。

所以有两种方法可以解释这个问题,我对两者都有答案:

<强> 1。什么是最适合启动服务的HTTP方法

没有什么比你需要的更好了,我建议你只使用POST

<强> 2。什么是启动服务的好RESTful方式

首先,您不应该将“启动服务”视为操作。将“状态”(正在启动或停止)视为您要更改的资源更容易,并且PUT更新资源。

所以在这种情况下,每个服务都应该有一个独特的uri。该uri上的GET可能会返回如下内容:

{ "status" : "stopped" }

您只需将“已停止”更改为“已启动”,PUT新资源..然后该服务可自动开始运行。

我想知道这是多么有用..我不是一个REST狂热者,我认为一个简单的POST是最好的方式..