Intern
90
questionbank

Что такое REST API?

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

REST (Representational State Transfer) — это архитектурный стиль для распределенных гипермедийных систем. Он не является стандартом или набором инструментов, а представляет собой набор принципов и ограничений.

Ключевые принципы REST:

  • Клиент-сервер: Четкое разделение ролей клиента и сервера. Клиент инициирует запросы, сервер их обрабатывает.
  • Stateless (отсутствие состояния): Каждый запрос от клиента к серверу должен содержать всю необходимую информацию для обработки. Сервер не хранит состояние клиента между запросами.
  • Cacheable (кешируемость): Ответы сервера могут быть помечены как кэшируемые, что позволяет клиентам повторно использовать предыдущие ответы для тех же запросов, улучшая производительность.
  • Layered System (многослойная система): Клиент не знает, напрямую ли он связан с конечным сервером или находится между ним и промежуточными серверами (например, прокси, балансировщики нагрузки).
  • Code-On-Demand (необязательно, код по требованию): Сервер может временно расширять или настраивать функциональность клиента, передавая исполняемый код.
  • Uniform Interface (единый интерфейс): Ключевой принцип, состоящий из четырех ограничений:
    • Identification of Resources (Идентификация ресурсов): Ресурсы (данные или объекты) идентифицируются с помощью Universal Resource Identifiers (URIs).
    • Manipulation of Resources Through Representations (Манипуляция ресурсов через их представления): Клиент взаимодействует с ресурсами через их представления (например, JSON, XML). Изменение представления ресурса приводит к изменению самого ресурса.
    • Self-Descriptive Messages (Самоописывающие сообщения): Каждое сообщение содержит достаточно информации для его интерпретации получателем, включая метаданные о ресурсе и его представлении.
    • Hypermedia As The Engine Of Application State (Гипермедиа как движок состояния приложения): Клиент, взаимодействуя с сервером, переходит по ссылкам (линкам), содержащимся в ответах, что определяет возможные следующиешаги или состояния приложения. Это принцип HATEOAS.

RESTful API — это API, который соответствует принципам REST. В контексте HTTP, RESTful API часто использует стандартные методы HTTP (GET, POST, PUT, DELETE) для выполнения операций над ресурсами.

Пример использования HTTP методов в RESTful API:

HTTP МетодДействиеСоответствие CRUD
GETПолучить ресурс(ы)Read
POSTСоздать ресурсCreate
PUTОбновить ресурсUpdate
DELETEУдалить ресурсDelete

Пример RESTful запроса к API для получения списка пользователей:

go

Пример RESTful запроса к API для создания нового пользователя:

go

Пример RESTful запроса к API для получения конкретного пользователя по ID:

go

Пример RESTful запроса к API для обновления информации о пользователе по ID:

go

Пример RESTful запроса к API для удаления пользователя по ID:

go