6

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

我目前考虑:

START /databases/mysampledatabase

我浏览了一些 RFC,但后来我想这里有人可能会指出我事实上的标准动词。

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

RFC 2616 选项 GET HEAD POST PUT DELETE TRACE CONNECT

RFC 2518 PROPFIND PROPPATCH MKCOL 复制移动锁定解锁

RFC 3253 报告 CHECKOUT CHECKIN UNCHECKOUT MKWORKSPACE UPDATE LABEL MERGE BASELINE-CONTROL MKACTIVITY

4

1 回答 1

8

这里有很多思维缺陷。首先,额外的 HTTP 动词(除了 CRUD 动词)应该被认为是不平静的。

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

1.启动服务最合适的HTTP方法是什么

没有什么比得上你需要的了,我建议你简单地使用POST.

2. 什么是启动服务的好 RESTful 方式

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

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

{ "status" : "stopped" }

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

我想知道这有多大用处..我不是 REST 狂热者,我认为简单的 POST 是最好的方法..

于 2013-02-27T00:16:00.117 回答