当客户端尝试
一个玩具示例是产品发货。在发货之前,可以更改详细信息(地址、产品、数量)(例如使用
客户端可能不知道已经发货,因此这不是客户端方面的“粗心”错误。
PUT
到一个当前只读的实体时,适当的HTTP响应代码是什么?一个玩具示例是产品发货。在发货之前,可以更改详细信息(地址、产品、数量)(例如使用
PUT
请求)。然而,一旦发货,任何PUT
都应该失败,即使请求格式和语法是正确的。客户端可能不知道已经发货,因此这不是客户端方面的“粗心”错误。
400
不太合适,因为输入格式正确且语法正确。
405
似乎是一个好选择。在这种情况下,这是常见的响应吗?
403
似乎意味着授权已被撤销,可能会误导用户。
422
似乎很合适,但如果您不提供 WebDAV 功能,则其使用似乎受到 不鼓励(我们没有提供该功能)。
500
可能会让人觉得有人绊倒了电缆,尽管我听说一些开发者/框架在这种情况下使用此状态。
在这种情况下是否有标准做法?什么最不容易引起 API 用户(开发者)和最终用户(使用 UI 的人)的混淆?