3

我需要对资源进行异步更新。是否有关于 202 Accepted 是否是对 PATCH 的适当响应的明确声明?

此处的官方文档从未提及 202,并且似乎假设由于 PATCH 导致的资源更改是同步进行的,但它从未做出明确的声明。

PATCH 动作的适当原理图是什么?

4

1 回答 1

6

我不明白为什么返回 202 是不好的。虽然没有明确提及 using 202,但规范在示例中确实暗示了这一点。

对现有文本文件的成功 PATCH 响应:

HTTP/1.1 204 无内容内容位置:/file.txt ETag:“e0023aa4f”

使用 204 响应代码是因为响应不包含消息正文(带有 200 代码的响应将具有)。请注意
也可以使用其他成功代码

202是一个成功代码,它的定义并不禁止它在PATCH.

10.2.3 202 接受

请求已被接受处理,但处理尚未完成。该请求最终可能会或可能不会被执行,因为在实际进行处理时它可能会被禁止。无法从诸如此类的异步操作中重新发送状态代码。

202 响应是故意不置可否的。它的目的是允许服务器接受对其他进程的请求(可能是一个每天只运行一次的面向批处理的进程),而不需要用户代理与服务器的连接持续到进程完成。与此响应一起返回的实体应该包括请求当前状态的指示以及指向状态监视器的指针或用户可以期望何时完成请求的一些估计。

只要您以原子方式修补并且异步请求不会使资源处于半修补状态,这应该很好。

于 2015-02-17T03:36:03.180 回答