通过REST执行命令

时间:2013-06-11 18:41:08

标签: rest

假设我有一个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的方式是什么?

1 个答案:

答案 0 :(得分:1)

我做了一些研究,我发现我所指的是一个REST控制器(来自文档,收集,存储,控制器)分类。

在这种情况下,@ Jon是正确的。我命令的最佳表现是:

POST /jobs/:id/execute