2016-02-15 94 views
0

我在Django Rest Framework中编写了一个API。HTTP状态码。什么是空参数的最佳状态码?

我有一个密码重置端点,它接受一个'email'参数。 如果标题中有一个关键的“电子邮件”,但该值是空字符串,该怎么办?

key: 'email'  
value: '' 

我应该返回哪个状态码? 400,或者204?

编辑:我忘了提及,这不应该是验证失败。此端点不需要授权。这仅用于发送密码重置电子邮件。

+0

“400错误请求”应该最适合,但是在什么特定情况下没有实际使用的标准定义,所以答案基于观点。 – DanFromGermany

+0

可能的重复[什么是由REST API服务返回验证失败的适当的HTTP状态代码?](http://stackoverflow.com/questions/1959947/whats-an-closed-http-status-code-to - 返回逐一个静止-API服务换一个-val)的 – DanFromGermany

回答

2

HTTP状态只是标准,您可以调整它们以适合您。 204没有返回响应主体时通常不会使用内容,因此您希望能够通过“无需提供任何错误集合提供的电子邮件”来响应服务器。在DRF中,DELETE请求成功后,在服务器上删除实体时返回204(默认情况下),因此没有剩余内容。

在你的情况下,我会去400. http://www.restapitutorial.com/httpstatuscodes.html特别提到“缺失数据”作为错误400请求错误使用的示例,这可能正是你的情况。