1
我有一个验证名称的服务,可用于检查用户名是否正确。它看起来是这样的:验证请求的HTTP响应
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
感觉正确。 A 400
将表明我的验证请求格式错误,并且无法识别要验证的数据。
我意识到这不是非常RESTful,因为“验证”基本上是一个动词,所以如果有另一种方法来解决我的查询,请建议!
如果验证失败会怎么样?我建议'200'也是适当的,因为验证请求是成功的。 – Conan 2014-09-05 17:32:36
对不起,我的意思是“执行验证的请求已成功执行,无论输出如何”。 – 2014-09-05 17:45:37