假设我有一个REST接口,其中包含名为作业的资源,其属性。我有一个看起来像这样的界面:
GET|POST|PUT|DELETE /jobs/:id
GET|POST|PUT|DELETE /jobs/:jobId/properties/:id
现在,让我们假设我想要执行我想要执行该作业。执行不是真正的资源。它们本质上是您希望告诉服务器对作业执行操作的命令。
从REST角度来看,最好的界面是什么?我提出的选项:
PUT /jobs/:id/execute
PUT /jobs/execute/:id
PUT /commands/execute_job/:jobId
POST /jobs/:id/executions
但我不知道哪个最好。另外,我不知道PUT
是否正确。我建议使用PUT
,因为execute
命令最终会修改作业资源上的部分数据。我的最后一个选项是将execute
转换为资源,就像我正在创建一个新的执行,但这感觉不对,因为它不像我将要有GET / PUT / DELETE谓词。
REST的方式是什么?
答案 0 :(得分:1)
我做了一些研究,我发现我所指的是一个REST控制器(来自文档,收集,存储,控制器)分类。
在这种情况下,@ Jon是正确的。我命令的最佳表现是:
POST /jobs/:id/execute