Мой проект возвращает JSON для вызовов Ajax из браузера. Мне интересно, какой код состояния для отправки обратно с ответами на недопустимые (но успешно обработанные) данные.
Например, jQuery имеет два следующих обратных вызова при выполнении запросов Ajax:
success: вызывается, когда код состояния 200/2xx поставляется вместе с ответом.
error: вызывается, когда коды 4xx, 5xx и т.д. возвращаются с кодом ответа.
Если пользователь пытается создать новый объект "Person", после успеха я отправляю JSON-представление вновь созданного объекта, предоставляя javascript доступ к обязательному уникальному идентификатору для нового объекта и т.д. Это, конечно же, отправляется с кодом состояния 200.
Если пользователь отправляет неверные или неверные данные (например, недопустимое/неполное имя), я хотел бы отправить обратно сообщения об ошибках проверки через JSON. (Я не понимаю, почему это было бы плохо).
Мой вопрос: при этом следует отправить код статуса 200, потому что я успешно обработал их недопустимые данные? Поэтому я бы использовал обратный вызов jQuery success, но просто проверял наличие ошибок...
Или, следует ли использовать код статуса 4xx, возможно, "Плохой запрос", потому что данные, которые они мне отправили, недействительны? (и, таким образом, используйте обратный вызов error, чтобы делать необходимые уведомления на стороне клиента).