REST:我使用哪种操作进行批处理?

时间:2014-03-06 06:13:32

标签: http rest batch-processing

我有一个可能包含一个或多个实体的XML文档。为了这个例子,让我们说这些实体是汽车。

现在,我即将创建一个REST服务,它接受XML文件并执行创建,更新和删除操作。我以为我会这样做:

  

HTTP POST到/ service / car :创建XML文档中列出的汽车

     

HTTP PUT到/ service / car :更新XML文档中列出的汽车

     

HTTP DELETE到/ service / var :删除XML文档中列出的汽车

但是,我的印象是PUT和DELETE应该对代表特定实体的资源(URL)起作用。也就是说,我可以针对/ service / car / 10调用HTTP DELETE来删除车号10.但是,HTTP / 1.1规范说明了

  

PUT方法请求将所包含的实体存储在   提供了Request-URI

这意味着我不能简单地使用PUT标记更新操作,我还应该将car id添加到URL。但是,我有多辆汽车需要批量更新。

我很想做:

  

HTTP POST到/ service / car / create

     

HTTP POST到/ service / car / update

     

HTTP POST到/ service / car / delete

然而,有些事情告诉我,这与你用REST做的事情并不完全相同。

对此有什么“最佳做法”吗?

1 个答案:

答案 0 :(得分:0)

我会将XML文档视为"命令"资源你" RESTing"而不是汽车。资源类型的语义将是" cars-modification-command"。我会定义一个URI /modifications/cars。 HTTP答案将是一个URI列表,可以查询该命令的结果,例如,新车的URI。

与#34; how to do I do complex queries in REST-style"?类似的问题?我的答案是:使查询(或在本例中:修改命令)成为您域名的完整对象。