У меня есть служба, которая проверяет имена, которые могут использоваться для проверки того, является ли имя пользователя ОК. Это выглядит примерно так:Ответ 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» - это в основном глагол, поэтому, если есть другой способ сделать это, который разрешает мой запрос, предложите его!
Что делать, если проверка не удалась? Я предполагаю, что «200» также подходит тогда, потому что запрос на подтверждение был успешным. – Conan
Извините, я имел в виду, что «запрос на выполнение проверки был успешно выполнен, независимо от результата». –