验证请求的HTTP响应

时间:2014-09-05 10:28:22

标签: validation rest http-status-codes

我有一个验证名称的服务,可以用来检查用户名是否正常。它看起来像这样:

POST http://names.myservice.com/validate 
content-type: application/json
{"name": "Abdul Hideo McDodgycharacter¬§(*&^$%£!"}

=> 200 OK 
{"errors": "contains invalid characters"}

所以服务的重点是检查建议的用户名的有效性,同时检查我的数据库以查看它是否已被采用。我的问题是:当验证错误时,响应代码应该是400 (Bad Request)吗?

如果我正在构建用户API来创建用户,这就是我在这里与Abdul一起展示时所做的事情,但我不是。在这种情况下,请求用于验证,输入数据是可接受的,并且响应包含所请求的表示,这是所提供数据的错误列表,因此200 OK感觉正确。 400表示我的验证请求格式错误,无法识别要验证的数据。

我意识到这不是非常RESTful,因为“validate”基本上是一个动词,所以如果还有其他方法可以解决我的问题,请提出建议!

1 个答案:

答案 0 :(得分:3)

如果验证请求成功,则200 (OK)是正确的响应代码。就端点而言,您可以考虑

POST /validated-names
相关问题