我想设计一个REST API来启动数据库.我找不到合适的http方法(又名动词).
我目前考虑:
START /databases/mysampledatabase
Run Code Online (Sandbox Code Playgroud)
我浏览了几个RFC,但后来我觉得有人在这里可能会指出一个事实上的标准动词.
我丢弃的方法(在我厌倦了看之前):
RFC 2616 选项获取HEAD POST PUT DELETE TRACE CONNECT
RFC 2518 PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK
RFC 3253 REPORT CHECKOUT CHECKIN UNCHECKOUT MKWORKSPACE UPDATE LABEL MERGE BASELINE-CONTROL MKACTIVITY
这里有一堆思考缺陷..首先,额外的HTTP动词(除了CRUD之外)应该被认为是不安宁的.
所以有两种方法可以解释这个问题,我对两者都有答案:
1.什么是最适合启动服务的HTTP方法
没有什么比你需要的更好,我建议简单地使用POST.
2.什么是启动服务的良好RESTful方式
首先,您不应该将"启动服务"视为操作.将"状态"(正在启动或停止)视为您正在更改的资源更容易,并且PUT更新资源.
所以在这种情况下,每个服务都应该有一个独特的uri.一GET对URI可以返回类似:
{ "status" : "stopped" }
Run Code Online (Sandbox Code Playgroud)
您只需将"已停止"更改为"已启动",PUT即新资源..然后该服务可以自动开始运行.
我想知道这是多么有用..我不是一个REST狂热者,我认为一个简单的POST是最好的方式..
| 归档时间: |
|
| 查看次数: |
1229 次 |
| 最近记录: |