2017-03-02 12 views
1

我想构建一个RESTFUL API。请求在休息API中运行任务

我有一个任务计划的资源。

客户端应该请求服务器在其中一个任务计划度量标准上运行任务,如基准测试。

应该使用哪个请求。 POST或GET?

什么是uri?

/api/plans/<id>/run or /api/plans/run/<id> ? 
+2

在一般的使用'POST'使用,因为'GET'是幂等和安全运行。由于“POST”请求的语义完全取决于您,您可以使用它向服务器发出进程触发器。如果处理过程可能需要一些时间,请确保返回一个'202 Accepted'响应代码,包括指向资源的'Location' HTTP响应头,客户端可以在进程的当前状态上更多地使用该资源。一个真正的RESTful服务(和客户端)并不关心URI的形式,尽管最佳实践建议避免动词作为资源名称,因为它们传递的是RPC语义 –

回答

0

GET请求用于读取/获取数据。 POST请求用于创建数据。

如果用户只是需要查看基准测试运行的结果,那么我会使用GET请求来返回计划的基准测试结果。

对于检索单个记录,URL约定是/things/:id,所以我建议api/plans/:id/run。我还建议将run重命名为更具描述性的内容,例如benchmarkmetrics

0

我会去参加一个POST,既然是针对特定计划的操作,则网址应该是plans/id?action=run

运行不是计划的一个子集,以便查询参数必须在这种情况下

+0

对资源的操作使用POST是根据RESTful标准? –

相关问题