使用HTTP Location标头指示未来资源的位置

问题描述 投票:1回答:1

遵循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 ...

rest http http-status-codes
1个回答
0
投票

RFC 7230:

© www.soinside.com 2019 - 2024. All rights reserved.