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