📌 Что такое rest api? 💬 Спрашивают в 20 % собеседованийREST API (Representational State Transfer Application Programming Interface) — это архитектурный стиль для создания веб-сервисов, который использует стандартные HTTP методы и принципы для взаимодействия между клиентом и сервером. REST API предоставляет набор операций для создания, чтения, обновления и удаления ресурсов, представленных в виде URL.
🤔 Основные принципы REST API1️⃣ Клиент-серверная архитектура:
➕ Клиент и сервер отделены друг от друга. Клиент запрашивает ресурсы, сервер обрабатывает запросы и возвращает ресурсы или статус операции.
2️⃣ Бесподсессионное взаимодействие (stateless):
➕ Каждое взаимодействие между клиентом и сервером независимое. Сервер не хранит состояние клиента между запросами. Вся необходимая информация для выполнения запроса должна быть предоставлена в каждом запросе.
3️⃣ Кеширование:
➕ Ответы сервера могут быть кешированы клиентом или промежуточными звеньями (прокси-серверами) для повышения производительности и снижения нагрузки на сервер.
4️⃣ Единый интерфейс (Uniform Interface):
➕ Универсальный интерфейс упрощает взаимодействие между клиентом и сервером. Основные методы HTTP (GET, POST, PUT, DELETE) используются для выполнения операций с ресурсами.
5️⃣ Многоуровневая система:
➕ REST API может быть организован в виде многоуровневой системы, где компоненты выполняют разные задачи (например, балансировка нагрузки, кеширование, защита и т.д.).
6️⃣ Представление ресурсов (Representations):
➕ Ресурсы представляются в виде различных форматов (обычно JSON или XML). Клиент и сервер могут договариваться о формате данных через заголовки HTTP (например,
Content-Type
и
Accept
).
🤔 Основные методы HTTP в REST API➕ GET: Извлечение данных с сервера. Например, получение информации о пользователе.
➕ POST: Отправка данных на сервер для создания нового ресурса. Например, создание новой учетной записи пользователя.
➕ PUT: Обновление существующего ресурса на сервере. Например, обновление информации о пользователе.
➕ DELETE: Удаление ресурса с сервера. Например, удаление учетной записи пользователя.
➕ PATCH: Частичное обновление ресурса на сервере. Например, изменение только email пользователя.
🤔 Пример REST API
Рассмотрим пример REST API для управления ресурсами пользователей.
Примеры URL и HTTP методов1️⃣ Получение списка пользователей:
➕ URL:
GET /users
➕ Описание: Возвращает список всех пользователей.
2️⃣ Получение информации о конкретном пользователе:
➕ URL:
GET /users/{id}
➕ Описание: Возвращает информацию о пользователе с заданным ID.
3️⃣ Создание нового пользователя:
➕ URL:
POST /users
➕ Описание: Создает нового пользователя с данными, переданными в теле запроса.
4️⃣ Обновление информации о пользователе:
➕ URL:
PUT /users/{id}
➕ Описание: Обновляет информацию о пользователе с заданным ID с данными, переданными в теле запроса.
5️⃣ Удаление пользователя:
➕ URL:
DELETE /users/{id}
➕ Описание: Удаляет пользователя с заданным ID.
🤔 Примеры запроса и ответаЗапрос на создание нового пользователя (POST /users):POST /users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John Doe",
"email": "[email protected]"
}
Ответ на успешное создание пользователя:HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 1,
"name": "John Doe",
"email": "[email protected]"
}
🤔 Зачем нужен REST API1️⃣ Универсальность: REST API может быть использован с любым языком программирования, поддерживающим HTTP.
2️⃣ Масштабируемость: Простота и гибкость архитектуры REST позволяет легко масштабировать системы.
3️⃣ Производительность: Возможность кеширования ответов позволяет уменьшить нагрузку на сервер и увеличить скорость отклика.
4️⃣ Легкость интеграции: REST API часто используется для интеграции различных систем и приложений, так как он предоставляет стандартизированные методы взаимодействия.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов |
🔒 База тестовых