在等待确认码时,HTTP 状态 202 是否适合创建帐户?

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

我有一个包含两步注册流程的 API:

  1. 用户申请一个新账号(
    POST
    正文中有一些账号信息)
  2. 用户确认帐户(
    POST
    通过短信或电子邮件收到的验证码)

我认为这些步骤的响应状态代码应该是:

  1. 202 接受
  2. 201 创建

这是对

202 Accepted
的恰当使用吗?

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

不,这可能不是适当使用

202 Accepted

响应

202 Accepted
表示请求已被服务器接受处理,无法对其进行处理。

202(Accepted)状态码表示请求已经被接受处理,但是处理还没有完成。该请求最终可能会或可能不会被执行,因为在实际处理时它可能会被禁止。 HTTP 中没有用于从异步操作重新发送状态代码的工具。

202 的回应是故意不置可否。它的目的是允许服务器接受对其他进程(可能是每天只运行一次的面向批处理的进程)的请求,而不需要用户代理与服务器的连接持续到进程完成。与此响应一起发送的表示应该描述请求的当前状态并指向(或嵌入)一个状态监视器,该监视器可以为用户提供对何时完成请求的估计。

因此,您可能会使用

201 Created
(就像 OAuth 2.0 那样),因为当用户发送
User
注册请求时,您可能会立即创建
POST
资源。但是,如果您的注册过程过于复杂或在您发送确认电子邮件/短信之前需要一些后台操作,您仍然可以查看
202
.

参见:

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