尽管RFC 7231旨在提供明确性,但显然在状态码400方面带来了歧义。请注意SO答案和评论。一个人表示400现在包括逻辑、应用或验证错误,另一个人表示400仍然只用于语法或验证错误。
我希望获得更明确的答案。考虑两种情况,其中POST或PUT试图提供电子邮件地址:6.5.1. 400 Bad Request
400(错误请求)状态码表示服务器因为某些被视为客户端错误的原因而无法或不会处理请求(例如,请求语法错误、无效的请求消息框架或欺骗性请求路由)。
- 请求中发现的电子邮件未通过验证(例如,它包含"hello#gmail.com")。 发送400回复。
- 请求中发现的电子邮件未通过确认(例如,另一个用户已经使用该地址)。 发送???回复。
我想遵循RFC 7231。 我对6.5.1的阅读告诉我,确认错误应该收到409(或422)响应。 但其他人持不同意见,认为现在应该是400。
有没有人有更多信息可以解决这种模糊性?