请告诉我应该在状态码是什么下面的情况:什么应该是“你不允许这样做......”的Http状态码?
用户已登记但没有提供她的个人信息,我们需要让她从我们这里购买。然而,她仍然试图购买。
我的想法:禁止 - 403.但403表示请求不应该重复。这是错误的,我希望她只有在她访问她的个人信息路线并提供信息后才能重复确切请求。
请告诉我应该在状态码是什么下面的情况:什么应该是“你不允许这样做......”的Http状态码?
用户已登记但没有提供她的个人信息,我们需要让她从我们这里购买。然而,她仍然试图购买。
我的想法:禁止 - 403.但403表示请求不应该重复。这是错误的,我希望她只有在她访问她的个人信息路线并提供信息后才能重复确切请求。
我会认为这属于412先决条件失败状态代码。客户没有提供必要的信息以便提出成功的请求,因为缺少一个条件。
从RFC 7232:
的412(前提条件失败)状态代码表示在评估为假的请求报头字段给定的一个或多个条件 当在服务器上测试 。此响应代码允许客户端将 前提条件放置在当前资源状态(其当前的 表示形式和元数据)上,从而防止在目标资源处于意外状态时应用请求方法 。
这里的问题是,实际的请求应该已经包含一个像'If-Unmodified-Since'或类似的头部,可能会也可能不会失败。如果失败,则应返回先决条件失败。 –
从OP的问题来看,这是否是这种情况还不清楚。 – Cheesebaron
[409冲突](https://tools.ietf.org/html/rfc7231#section-6.5.8)可能是一个有效的错误代码(取决于资源的当前状态) –
@RomanVottner耶。我喜欢这种情况......这种状态怎么会永远不会跨越我的眼睛... – shayan