
Мифы про REST API. Часть 3
daskuncik 18 минут назад Мифы про REST API. Часть 3 Время на прочтение 5 мин Охват и читатели 1.3K Блог компании ПСБ Проектирование API * Анализ и проектирование систем * Проектирование и рефакторинг * Привет всем, на...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. daskuncik 18 минут назад Мифы про REST API. Часть 3 Время на прочтение 5 мин Охват и читатели 1. 3K Блог компании ПСБ Проектирование API * Анализ и проектирование систем * Проектирование и рефакторинг * Привет всем, на связи снова Дарья Борисова, системный аналитик из ПСБ.
Продолжаю развеивать мифы о REST API. Если вы пропустили первую и вторую часть, то советую заглянуть туда: ведь мы уже разобрали некоторые заблуждения о природе REST. Сегодня мы разберем нюансы транспортных и бизнес-ошибок, погрузимся в кеширование и узнаем, действительно ли REST должен быть прокси для базы данных.
Технические детали
Переходите под кат, начинаем! HTTP-коды только для транспортных ошибок, бизнес-ошибки всегда 200. Миф HTTP-статусы (4xx, 5xx) — это только технические детали протокола.
Они описывают исключительно процесс обмена данными между клиентом и сервером. Например: 404 Not Found — запрошенный URL не существует 403 Forbidden — сервер понял запрос, но не разрешает доступ 500 Internal Server Error — сбой на стороне сервера Из этого появляется вывод : Все, что связано с бизнес-логикой (например, найден ли заказ, можно ли его отменить), должно передаваться только в теле ответа, а HTTP-статус почти всегда должен быть 200 OK (или иногда 400 Bad Request). Реальность В REST-подходе HTTP-статусы — это основной способ сообщить результат операции.
Они не второстепенны — они часть самого интерфейса. REST — это не просто JSON по HTTP. REST — это архитектурный стиль с четкими правилами.
Отраслевые последствия
Одно из ключевых — единый интерфейс. HTTP уже реализует этот интерфейс, и статусы — его важная часть. Они: стандартизированы; понятны программам; работают «из коробки» для прокси, кэшей, API-шлюзов.
Деление на «технические» и «бизнес-» ошибки — искусственное Для клиента ощутимой разницы нет: «страница не найдена»; «заказ не найден». В обоих случаях результат один: запрошенный ресурс отсутствует. И код 404 идеально это передает — без дополнительных соглашений и костылей.
Что это значит для дизайна API Вот как обычно правильно использовать статусы: Если /api/orders/999 не существует — это 404 Not Found. Можно добавить JSON для вывода пользователю, но необязательно. Пользователь авторизован, но не имеет прав — это 403 Forbidden.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





