Назад к вопросам
Junior
96
questionbank
Что такое REST API?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
REST API — это архитектурный стиль, а не стандарт, для построения распределенных систем. Он основан на принципах, таких как statelessness, клиент-серверная архитектура и использование стандартных HTTP-методов (GET, POST, PUT, DELETE, PATCH) для операций над ресурсами.
Ключевые принципы REST:
- Stateless (отсутствие состояния): Сервер не хранит информацию о состоянии клиента между запросами. Каждый запрос содержит всю необходимую информацию для его обработки.
- Client-Server (клиент-сервер): Четкое разделение клиента и сервера. Каждый может развиваться независимо.
- Cacheable (кэшируемый): Ответы могут быть помечены как кэшируемые или не кэшируемые, что улучшает производительность.
- Layered System (многоуровневая система): Клиент не может узнать, напрямую ли он подключен к серверу, или через промежуточные слои.
- Uniform Interface (единообразный интерфейс): Стандартизованные способы взаимодействия с ресурсами. Включает:
- Идентификация ресурсов (URI)
- Манипуляции ресурсами через представление (информация о ресурсе передается в representations)
- Самоописывающиеся сообщения (каждое сообщение содержит достаточную информацию для обработки)
- Hypermedia as the Engine of Application State (HATEOAS) - состояние приложения управляется гиперссылками.
Пример использования стандартных HTTP-методов:
| Метод HTTP | Действие над ресурсом (например, /users) |
Описание |
|---|---|---|
GET |
/users или /users/{id} |
Получение списка пользователей или конкретного пользователя. |
POST |
/users |
Создание нового пользователя. |
PUT |
/users/{id} |
Полное обновление данных пользователя по его ID. |
PATCH |
/users/{id} |
Частичное обновление данных пользователя по его ID. |
DELETE |
/users/{id} |
Удаление пользователя по его ID. |
REST API используются для взаимодействия между различными системами и приложениями, например, между фронтендом и бэкендом.