Validation 验证请求的HTTP响应

Validation 验证请求的HTTP响应,validation,rest,http-status-codes,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"} 因此,该服务的目的是检查提议用户名的有效性,同时检查My

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

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

=> 200 OK 
{"errors": "contains invalid characters"}
因此,该服务的目的是检查提议用户名的有效性,同时检查MyDB中的用户名是否已被使用。我的问题是:当存在验证错误时,响应代码应该是
400(错误请求)

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


我意识到这不是很RESTful,因为“validate”基本上是一个动词,所以如果有其他方法可以解决我的查询,请建议它

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

POST /validated-names

如果验证失败怎么办?我建议使用
200
,因为验证请求已成功执行。对不起,我的意思是“执行验证的请求已成功执行,无论输出如何”。