Получить доступ

Проектирование REST API

Основа с Junior

Ресурсы, методы, коды ответа, пагинация, идемпотентность, версии и совместимость.

Что важно знать

  • Ресурсы — существительные (/orders/42), действия — методами.
  • Коды: 201 при создании, 204 без тела, 400/422 — ошибки данных, 401/403, 404, 409 — конфликт, 429 — лимит.
  • Идемпотентность: повтор PUT и DELETE безопасен, для POST — ключ идемпотентности.
  • Пагинация: курсор вместо offset на больших таблицах.
  • Ошибки в едином формате (RFC 9457 Problem Details).
  • Совместимость: добавлять поля можно, удалять и менять смысл — только с новой версией.
  • Контракт в OpenAPI — генерация клиентов и документации.

Критерии освоения

Junior ≈ 6 ч

  • Проектирует ресурсы и эндпоинты с правильными методами и кодами ответа
  • Описывает API в OpenAPI

Практика. Спроектировать и реализовать API заказов (создание, список, получение, отмена) с описанием в OpenAPI.

Middle ≈ 8 ч

  • Делает пагинацию курсором, фильтрацию и единый формат ошибок
  • Обеспечивает идемпотентность создания через ключ идемпотентности
  • Отличает совместимые изменения API от ломающих

Практика. Добавить в API пагинацию курсором, ключ идемпотентности для создания заказа и единый формат ошибок.

Senior ≈ 4 ч

  • Выстраивает версионирование и политику изменений публичного API для внешних клиентов

Практика. Описать политику версионирования и депрекации API для партнёров и провести изменение без поломки клиентов.

Вопросы с собеседований

Разборы темы

← Вся карта «Backend-разработчик»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем