Files
frontend-docs/docs/api/03-rest-api.md

55 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
sidebar_position: 3
---
# REST API
**REST API** (Representational State Transfer Application Programming Interface) — это архитектурный стиль для создания веб-сервисов, который основывается на стандартных протоколах и методах HTTP. REST API используется для взаимодействия между клиентом и сервером, где клиент отправляет запросы, а сервер возвращает ответы в формате, обычно JSON или XML.
## Основные принципы REST API:
1. **Ресурсы (Resources):**
- Все данные рассматриваются как ресурсы, которые идентифицируются с помощью URL (например, `/users`, `/products`).
- Каждый ресурс имеет уникальный идентификатор (URI).
2. **HTTP-методы:**
- Используются стандартные HTTP-методы для выполнения операций:
- `GET` — получение данных.
- `POST` — создание нового ресурса.
- `PUT` — обновление существующего ресурса.
- `DELETE` — удаление ресурса.
- `PATCH` — частичное обновление ресурса.
3. **Статус ответа:**
- Сервер возвращает HTTP-коды состояния, которые указывают на результат выполнения запроса:
- `200 OK` — успешный запрос.
- `201 Created`ресурс успешно создан.
- `400 Bad Request` — неверный запрос.
- `404 Not Found`ресурс не найден.
- `500 Internal Server Error` — ошибка на сервере.
4. **Без состояния (Stateless):**
- Каждый запрос от клиента к серверу должен содержать всю необходимую информацию для его обработки. Сервер не хранит состояние клиента между запросами.
5. **Кэширование:**
- Ответы сервера могут быть кэшированы для повышения производительности.
6. **Единообразие интерфейса:**
- API должен быть простым и понятным, с использованием стандартных подходов.
7. **Форматы данных:**
- RESTful API обычно использует JSON или XML для передачи данных между клиентом и сервером.
## Пример REST API:
Предположим, у нас есть API для управления пользователями:
- `GET /users` — получить список всех пользователей.
- `GET /users/1` — получить информацию о пользователе с ID 1.
- `POST /users` — создать нового пользователя (тело запроса содержит данные пользователя).
- `PUT /users/1` — обновить информацию о пользователе с ID 1.
- `DELETE /users/1` — удалить пользователя с ID 1.
## Преимущества REST API:
- **Простота:** Использует стандартные HTTP-методы и статусы.
- **Масштабируемость:** Подходит для больших и распределенных систем.
- **Гибкость:** Поддерживает различные форматы данных (JSON, XML).
- **Кэширование:** Улучшает производительность за счет кэширования ответов.
- **Независимость от платформы:** Может использоваться с любым языком программирования или технологией.
## Разница между REST API и RESTful API:
- **REST API** — это общий термин, описывающий API, которое следует принципам REST.
- **RESTful API** — это более строгий термин, подразумевающий, что API полностью соответствует всем принципам REST.
🚀 **_Источник: DeepSeek_**