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

Что означает буква R в аббревиатуре REST применительно к проектированию API?

JuniorПроектирование API
Ещё спрашивают так:
  • Что такое REST?
  • Как правильно называть эндпоинты?
Коротко

REST — Representational State Transfer: ресурсы адресуются URL, действия выражаются методами HTTP, клиент работает с представлениями ресурсов.

  • В пути — существительные: GET /orders/42, а не GET /getOrder?id=42
  • Семантика методов: GET не меняет состояние, PUT и DELETE идемпотентны
  • Коды ответа и заголовки кэширования несут смысл

А ещё Без сохранения состояния между запросами (stateless)

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Практическое следствие простое: в адресе стоит существительное-ресурс, а действие задаёт метод. Поэтому GET /orders/42 корректен, а GET /getOrder?id=42 — нет: глагол продублирован в пути. Из того же принципа вытекает и семантика: GET не должен менять состояние, а повторный PUT или DELETE безопасен.

Что хотят услышать

  • Ресурсы и методы HTTP.
  • Пример правильного и неправильного URL.
  • Семантика методов и stateless.

Частые ошибки

  • Ставить глаголы в путь ресурса.
  • Менять состояние в обработчике GET.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Representational — клиент работает с представлениями ресурсов, адресуемых по URL, через стандартные методы HTTP
  • ✗Remote — все вызовы обязательно идут по сети между разными машинами
  • ✗Relational — данные обязаны храниться в реляционной базе
  • ✗Realtime — ответ должен приходить мгновенно

Что спросят дальше

  • Какие методы HTTP идемпотентны?
  • Как обозначить создание ресурса в ответе?

Разбор темы

Связанные вопросы

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

Подсказки на собеседовании — в реальном времени

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

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