Когда пользователь отправляет недопустимые данные в мой API (обычно через Javascript + JSON), мне интересно, какой HTTP-код ответа Я должен ответить с помощью.
Должен ли я вернуть ответ HTTP 200 с ошибками - или мой сервер должен ответить с ошибкой 400 или 500, так как запрос фактически не прошел мою проверку из-за некоторых неверных данных?
Похоже, что ошибка 400 - это путь, поскольку «Код статуса класса 4xx предназначен для случаев, когда клиент, похоже, допустил ошибку» - wikipedia
Однако следует иметь в виду, что большинство людей используют фреймворк, такой как jQuery, который требует от вас указать альтернативный обратный вызов, когда запросы AJAX отвечают любым кодом состояния, отличным от 200.