- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 XML 文档,其中可能包含一个或多个实体。为了这个例子,假设这些实体是汽车。
现在,我要创建一个接受 XML 文件并执行创建、更新和删除操作的 REST 服务。我以为我会简单地做:
HTTP POST to /service/car : create cars listed in the in XML document
HTTP PUT to /service/car : update cars listed in the in XML document
HTTP DELETE to /service/var : delete cars listed in the in XML document
但是,我的印象是 PUT 和 DELETE 应该作用于代表特定实体的资源 (URL)。也就是说,我可以针对/service/car/10 调用 HTTP DELETE 来删除 10 号车。但是,HTTP/1.1 规范指出
The PUT method requests that the enclosed entity be stored under the supplied Request-URI
这意味着我不能简单地使用 PUT 来标记更新操作,我还应该将汽车 ID 添加到 URL。但是,我有多辆汽车需要批量更新。
我很想这样做:
HTTP POST to /service/car/create
HTTP POST to /service/car/update
HTTP POST to /service/car/delete
但是,有些事情告诉我这不是您使用 REST 做事的方式。
在这方面有什么“最佳实践”吗?
最佳答案
我会将 XML 文档视为您正在“休息”的“命令”资源,而不是汽车。资源类型的语义是“cars-modification-command”。我会定义一个 URI /modifications/cars
。 HTTP 应答将是一个 URI 列表,可以查询命令的结果,例如新车的 URI。
这是一个与“how to do I do complex queries in REST-style”类似的问题?我的回答是:使查询(或在本例中为:修改命令)成为您域的完整对象。
关于http - 休息 : Which action do I use for batch processing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22216506/
我是一名优秀的程序员,十分优秀!