相关疑难解决方法(0)

如果用户尝试使用不正确的用户名/密码登录,但格式正确,则返回的HTTP状态代码是什么?

此处发布了一个类似的问题:REST API服务为验证失败返回的适当HTTP状态代码是什么?

上面的线程中的答案指出"例如,如果URI应该具有ISO-8601日期,并且您发现它的格式错误或者指的是2月31日,那么您将返回HTTP 400.如果您期望它同样如此实体主体中格式良好的XML,无法解析."

但是,如果用户提交了正确格式的数据,会发生什么?我的意思是,用户提交了用户名和密码的简单字母字符串/文本(这对我的应用程序完全有效).唯一的问题是密码与用户名不匹配.在这种情况下,400将是不正确的,因为它是完全有效的语法和格式良好.

一个401是不正确的(这里建议:哪个HTTP状态代码说用户名或密码不正确?)因为用户没有尝试访问任何页面,他只是尝试登录并输入不匹配的数据.

如果你回顾我链接的第一篇文章,第二个答案表明422是正确的响应(看起来对我来说是正确的),但是,我使用的是Django Rest Framework而422并不是状态代码的一部分(a可以在此处找到属于DRF的状态代码列表:http://www.django-rest-framework.org/api-guide/status-codes/#client-error-4xx)

404也看起来不正确,因为数据被成功接受而不被拒绝.

话虽如此,应该使用的真正正确答案是什么?

validation rest restful-authentication http-status-codes django-rest-framework

45
推荐指数
4
解决办法
3万
查看次数