gpt4 book ai didi

http - 休息 : Which action do I use for batch processing?

转载 作者:可可西里 更新时间:2023-11-01 16:43:08 25 4
gpt4 key购买 nike

我有一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com