Какое взаимодействие между REST API и CRUD?

«Какое взаимодействие между REST API и CRUD?» — вопрос из категории Сети, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

REST API — это архитектурный стиль для построения веб-сервисов, который часто использует HTTP-методы для реализации операций CRUD (Create, Read, Update, Delete) над ресурсами.

Сопоставление HTTP-методов и CRUD-операций: HTTP-метод CRUD-операция Описание
POST Create Создание нового ресурса. Тело запроса содержит данные.
GET Read Получение ресурса или коллекции ресурсов. Без побочных эффектов.
PUT/PATCH Update Полное (PUT) или частичное (PATCH) обновление ресурса.
DELETE Delete Удаление ресурса.

Пример на PHP с использованием клиента Guzzle:

// Create (POST)
$client->post('/api/users', ['json' => ['name' => 'John', 'email' => 'john@example.com']]);

// Read (GET)
$response = $client->get('/api/users/123');
$userData = json_decode($response->getBody(), true);

// Update (PUT)
$client->put('/api/users/123', ['json' => ['name' => 'John Updated']]);

// Delete (DELETE)
$client->delete('/api/users/123');

Важно понимать, что REST — это не только CRUD. Он также включает концепции ресурсов, единообразия интерфейса (uniform interface), stateless-взаимодействия и кэширования. Однако CRUD-операции через HTTP-методы являются его фундаментальной и наиболее распространенной частью.