我有一个可能包含一个或多个实体的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做的事情并不完全相同。
对此有什么“最佳做法”吗?
答案 0 :(得分:0)
我会将XML文档视为"命令"资源你" RESTing"而不是汽车。资源类型的语义将是" cars-modification-command"。我会定义一个URI /modifications/cars
。 HTTP答案将是一个URI列表,可以查询该命令的结果,例如,新车的URI。
与#34; how to do I do complex queries in REST-style"?类似的问题?我的答案是:使查询(或在本例中:修改命令)成为您域名的完整对象。