История изменений
Исправление rtxtxtrx, (текущая версия) :
А если серьезно и отбросить стеб с этих недопрограммистов, дрочащих на статусы. То есть убер-фреймворки типа джанги, спринга. А есть микрофреймворки, которые очень популярны. В них кроме роутинга иногда бывает валидатор, а вот ORM и прочее ты прикручиваешь с боку. Они никак неиэ интегрированы, ошибки ORM автоматом в 404 не превращаются, когда сущность не найдена. При падении соединения Service Unavailable не показывает. Можно в каждом эндпоинте отлавливать все возможные ошибки по-честному, а можно не заморачиваться и добавить обработчик, который все ошибки будет (которые наследуются от Exception) превращать в json-нину с особым форматом. И вот тут 400-ый статус самый подходящий + клиентские либы бросают исключения, если статус в не диапазоне 200-299. С 404 тоже можно не заморачиваться. Браузер только если 401 статус на эндпоинте при авторизации возвращается пароль не запоминает и запоминает при 200 (либо вообще только на 200 реагирует). Статусы не нужны. REST API не пригоден уже если пилишь сайт + мобильное приложение, потому как под мобилку его еще придется переделывать. Лучше сразу Graphql делать.
Исправление rtxtxtrx, :
А если серьезно и отбросить стеб с этих недопрограммистов, дрочащих на статусы. То есть убер-фреймворки типа джанги, спринга. А есть микрофреймворки, которые очень популярны. В них кроме роутинга иногда бывает валидатор, а вот ORM и прочее ты прикручиваешь с боку. Можно в каждом эндпоинте отлавливать все возможные ошибки по-честному, а можно не заморачиваться и добавить обработчик, который все ошибки будет превращать в json-нину с особым форматом. И вот тут 400-ый статус самый подходящий + клиентские либы бросают исключения, если статус в не диапазоне 200-299. С 404 тоже можно не заморачиваться. Браузер только если 401 статус на эндпоинте при авторизации возвращается пароль не запоминает и запоминает при 200 (либо вообще только на 200 реагирует). Статусы не нужны. REST API не пригоден уже если пилишь сайт + мобильное приложение, потому как под мобилку его еще придется переделывать. Лучше сразу Graphql делать.
Исходная версия rtxtxtrx, :
А если серьезно и отбросить стеб с этих недопрограммистов, дрочащих на статусы Но есть убер-фреймворки типа джанги, спринга. А есть микрофреймворки, которые очень популярны. В них кроме роутинга иногда бывает валидатор, а вот ORM и прочее ты прикручиваешь с боку. Можно в каждом эндпоинте отлавливать все возможные ошибки по-честному, а можно не заморачиваться и добавить обработчик, который все ошибки будет превращать в json-нину с особым форматом. И вот тут 400-ый статус самый подходящий + клиентские либы бросают исключения, если статус в не диапазоне 200-299. С 404 тоже можно не заморачиваться. Браузер только если 401 статус на эндпоинте при авторизации возвращается пароль не запоминает и запоминает при 200 (либо вообще только на 200 реагирует). Статусы не нужны. REST API не пригоден уже если пилишь сайт + мобильное приложение, потому как под мобилку его еще придется переделывать. Лучше сразу Graphql делать.