Стили API
За пределами базового REST: gRPC для быстрых внутренних вызовов, GraphQL для гибких срезов данных, HATEOAS как зрелость REST — когда что и какой ценой.
Зачем это бэкендеру. REST с JSON — рабочая лошадка, но не единственный вариант. Когда сервисы часто зовут друг друга, когда клиенту нужны разные срезы данных, когда важна строгая типизация контракта — REST начинает мешать. Этот раздел — про то, что есть за его пределами и когда это оправдано. База по REST — в разделе REST и контракты. Входит в программу подготовки.
REST по умолчанию — правильный выбор для большинства задач. Остальные стили берут не «вместо», а под конкретную боль. Ниже — три, которые чаще всего всплывают, и честный разбор, когда каждый уместен.
Статьи раздела
- gRPC: быстрые вызовы между сервисами — бинарный протокол, protobuf-контракты, стриминг: когда он бьёт REST и какой ценой.
- GraphQL: клиент запрашивает ровно нужное — один запрос вместо пяти, схема и резолверы, и почему за гибкость платят кэшированием и нагрузкой.
- HATEOAS: зрелость REST и гиперссылки — высший уровень модели Ричардсона: ответы, которые сами говорят, что делать дальше, — и почему это редко нужно.
Связанное
- REST и контракты — база, поверх которой стоит всё остальное.
- Сеть для бэкендера — HTTP/2, на котором работает gRPC, разобран там.
- Системный дизайн — выбор стиля интеграции как часть проектирования.