假设我有一个 REST 接口,其中包含一个名为Jobs的资源,该资源具有Properties。我会有一个如下所示的界面:
GET|POST|PUT|DELETE /jobs/:id
GET|POST|PUT|DELETE /jobs/:jobId/properties/:id
现在,让我们假设我想要执行我想要执行该作业。执行不是真正的资源。它们本质上是您想要告诉服务器对Jobs采取行动的命令。
从 REST 角度来看,执行此操作的最佳接口是什么?我提出的选项:
PUT /jobs/:id/execute
PUT /jobs/execute/:id
PUT /commands/execute_job/:jobId
POST /jobs/:id/executions
但我不知道哪个最好。另外,我不知道是否PUT
正确。我建议PUT
是因为该execute
命令最终会修改Job资源上的一些数据。我的最后一个选项会execute
变成一个资源,就像我正在创建一个新的执行一样,但这感觉不对,因为它不像我将有 GET/PUT/DELETE 动词。
这样做的 REST 方法是什么?