我想设计一个REST API来启动数据库。我找不到合适的http方法(又名动词)。
我目前正在考虑:
START /databases/mysampledatabase
我浏览过一些RFC,但后来我认为有人可能会指出我是事实上的标准动词。
我丢弃的方法(在我厌倦了之前):
RFC 2616 OPTIONS 得到 头 POST 放 删除 跟踪 CONNECT
RFC 2518 PROPFIND PROPPATCH MKCOL 复制 移动 锁 UNLOCK
RFC 3253 报告 查看 报到 取消签 MKWORKSPACE UPDATE 标签 合并 基线控制 MKACTIVITY
答案 0 :(得分:7)
这里有一堆思考缺陷..首先,额外的HTTP动词(除了CRUD之外)应该被视为不安宁。
所以有两种方法可以解释这个问题,我对两者都有答案:
<强> 1。什么是最适合启动服务的HTTP方法
没有什么比你需要的更好了,我建议你只使用POST
。
<强> 2。什么是启动服务的好RESTful方式
首先,您不应该将“启动服务”视为操作。将“状态”(正在启动或停止)视为您要更改的资源更容易,并且PUT更新资源。
所以在这种情况下,每个服务都应该有一个独特的uri。该uri上的GET
可能会返回如下内容:
{ "status" : "stopped" }
您只需将“已停止”更改为“已启动”,PUT
新资源..然后该服务可自动开始运行。
我想知道这是多么有用..我不是一个REST狂热者,我认为一个简单的POST是最好的方式..