遵循Richardson maturity model by Martin Fowler中描述的REST级别2规范,对创建资源的POST请求的响应看起来像这样:
HTTP/1.1 201 Created
Location: slots/1234/appointment
[various headers]
<appointment>
<slot id = "1234" doctor = "mjones" start = "1400" end = "1450"/>
<patient id = "jsmith"/>
</appointment>
我想遵循此模型,但是在我的应用程序中,当调用端点以创建新资源时,它将被添加到队列中而不是立即创建,因此我以HTTP 202而不是201进行响应。
我还希望提供一个URL,该URL指示一旦队列被处理后用户可以获取的内容的将来位置。我可以利用Location HTTP标头来实现此目的吗?结果类似:
HTTP/1.1 202 Accepted Location: slots/1234/appointment
在MSDN上,它关于位置头说明了这一点:
仅在提供3xx(重定向)或201(已创建)状态响应。
如果是这种情况,还有什么其他标准化的HTTP替代方法可用于这种情况?
按照Martin Fowler在Richardson成熟度模型中描述的REST Level 2规范,对创建资源的POST请求的响应看起来像这样:HTTP / 1.1 201 Created ...
RFC 7230: