2014-09-05 2 views
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 для создания пользователей, вот что я сделал бы, если бы представил Абдул здесь, но я не знаю. В этом случае запрос предназначен для проверки, входные данные приемлемы, а ответ содержит запрошенное представление, которое представляет собой список ошибок для предоставленных данных, поэтому 200 OK чувствует себя правильно. A 400 указывает, что мой запрос проверки был неверным, и данные, подлежащие проверке, не могут быть идентифицированы.

Я понимаю, что это не очень RESTful, потому что «validate» - это в основном глагол, поэтому, если есть другой способ сделать это, который разрешает мой запрос, предложите его!

ответ

3

Если запрос на подтверждение был успешным, то 200 (OK) - правильный код ответа. Что касается конечных точек, вы можете рассмотреть

POST /validated-names 
+0

Что делать, если проверка не удалась? Я предполагаю, что «200» также подходит тогда, потому что запрос на подтверждение был успешным. – Conan

+0

Извините, я имел в виду, что «запрос на выполнение проверки был успешно выполнен, независимо от результата». –

Смежные вопросы