启动服务的Http/REST方法
问题描述:
我想设计一个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
答
有一堆这里想缺陷。首先,除了CRUD之外,额外的HTTP动词应该被认为是不安宁的。
因此,有两种方法我可以解释这个问题,我有两个答案:
1.什么是用于启动服务
没有什么是很喜欢最合适的HTTP方法你需要,我会建议使用POST
。
2.什么是启动服务
首先,你不应该看到“启动服务”作为行动的好RESTful方式。将“状态”(正在启动或停止)视为正在更改的资源并更新资源会更容易。
所以在这种情况下,每个服务应该有一个独特的URI。对URI的GET
可以返回类似:
{ "status" : "stopped" }
你只需要改变“停止”到“开始”,PUT
新的资源..然后该服务会自动开始运行。
我不知道这是怎么虽然有用的..我不是一个REST狂热者,我认为一个简单的POST是最好的方式去..
我不清楚你的标准是什么。你似乎已经用尽了所有正式批准的动词。 – 2013-02-26 23:56:23
我不相信我有。此外,我正在寻找符合其他API,不一定遵守W3C标准或RFC /草案。我相信即使是在标准化之前使用的PATCH方法也是如此。 – 2013-02-26 23:58:05
我考虑过:START,EXECUTE,RUN – 2013-02-26 23:58:42