📌 Что такое rest api?



💬 Спрашивают в 20 % собеседований



REST API (Representational State Transfer Application Programming Interface) — это архитектурный стиль для создания веб-сервисов, который использует стандартные HTTP методы и принципы для взаимодействия между клиентом и сервером. REST API предоставляет набор операций для создания, чтения, обновления и удаления ресурсов, представленных в виде URL.



🤔 Основные принципы REST API



1️⃣ Клиент-серверная архитектура:



Клиент и сервер отделены друг от друга. Клиент запрашивает ресурсы, сервер обрабатывает запросы и возвращает ресурсы или статус операции.



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 API



1️⃣ Универсальность: REST API может быть использован с любым языком программирования, поддерживающим HTTP.



2️⃣ Масштабируемость: Простота и гибкость архитектуры REST позволяет легко масштабировать системы.



3️⃣ Производительность: Возможность кеширования ответов позволяет уменьшить нагрузку на сервер и увеличить скорость отклика.



4️⃣ Легкость интеграции: REST API часто используется для интеграции различных систем и приложений, так как он предоставляет стандартизированные методы взаимодействия.



🔥 ТОП ВОПРОСОВ С СОБЕСОВ



🔒 База собесов | 🔒 База тестовых