Junior
44
questionbank

Что такое REST API?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

REST API - это архитектурный стиль для построения распределенных систем. Основные принципы REST:

  • Statelessness: Каждый запрос от клиента к серверу должен содержать всю необходимую информацию для обработки. Сервер не хранит состояние клиента между запросами.
  • Client-Server: Четкое разделение обязанностей между клиентом и сервером. Клиент отправляет запросы, сервер обрабатывает их.
  • Cacheable: Сервер должен указывать, могут ли ответы быть кэшированы клиентом или посредником.
  • Layered System: Клиент не обязательно напрямую взаимодействует с конечным сервером; он может взаимодействовать через промежуточные слои (прокси, балансировщики нагрузки).
  • Uniform Interface: Единый и стандартизированный способ взаимодействия между клиентом и сервером. Этот принцип включает:
    • Identification of Resources: Ресурсы (данные) идентифицируются по URL.
    • Manipulation of Resources Through Representations: Клиент взаимодействует с ресурсами, получая их представления (например, JSON, XML) и отправляя новые представления для изменения.
    • Self-descriptive Messages: Каждое сообщение содержит достаточно информации, чтобы понять, как его обработать.
    • HATEOAS (Hypertext As The Engine Of Application State): Ресурсы должны содержать ссылки (гиперссылки) на связанные ресурсы и доступные действия.

REST API обычно использует стандартные HTTP-методы для выполнения операций над ресурсами:

  • GET: Получение ресурса или коллекции ресурсов.
  • POST: Создание нового ресурса.
  • PUT: Полное обновление существующего ресурса.
  • PATCH: Частичное обновление существующего ресурса.
  • DELETE: Удаление ресурса.

Пример JSON представления ресурса:

json

Тестирование REST API включает проверку:

  • Функциональности (корректность ответов на запросы).
  • Обработки ошибок.
  • Производительности.
  • Безопасности.
  • Соответствия документации.