CRUD — аббревиатура от Create (создать), Read (читать), Update (обновить) и Delete (удалить). Этот метод необходим при создании веб-приложений, позволяя структурировать модели для API. Традиционно CRUD применяется к базам данных, но применим и к любым хранимым вычислительным сущностям: файлам, структурам памяти, объектам. Рассмотрим CRUD в контексте API.
Зачем нужен CRUD?
Представьте API, хранящее информацию о кофе в кафе. Оно должно позволять хранить различные объекты кофе (уникальный идентификатор, название, цена) и обеспечивать взаимодействие пользователей с этими данными: изменение, добавление и удаление записей. API без возможности изменения цены на кофе или удаления записей неэффективно.
CRUD-операции
CRUD описывает четыре основные операции веб-служб:
- Create (POST): Создание новых данных.
- Read (GET): Чтение данных.
- Update (PUT): Обновление данных.
- Delete (DELETE): Удаление данных.
Для демонстрации используем утилиту командной строки curl. Убедитесь, что curl установлен. (В случае ошибки curl: command not found установите curl.)
Примеры использования curl
Рассмотрим API, хранящее информацию о кофе, и продемонстрируем каждую CRUD-операцию с помощью curl:
Создание (Create — POST)
Добавим в меню эспрессо по цене 1.95 евро с помощью запроса POST:
curl -X POST -d "name=Эспрессо&price=1.95" <URL_API>
Ответ: name=Эспрессо, price=1.95 (создан новый кофе).
Чтение (Read — GET)
Получим список всех сортов кофе с помощью запроса GET:
curl -X GET <URL_API>/coffees
Пример ответа: [{"id":1,"name":"Эспрессо","price":1.95},{"id":2,"name":"Латте","price":2.60}]
Получим данные об одном кофейном элементе:
curl -X GET <URL_API>/coffees/1
Пример ответа: {"id":1,"name":"Эспрессо","price":1.95}
Обновление (Update — PUT)
Изменим цену латте на 2.75 евро с помощью запроса PUT:
curl -X PUT -d "price=2.75" <URL_API>/coffees/2
Ответ: Изменённая позиция латте с идентификатором 2 и новой ценой 2.75
Удаление (Delete — DELETE)
Удалим эспрессо из меню с помощью запроса DELETE:
curl -X DELETE <URL_API>/coffees/1
Ответ: (отсутствует, кофе удалён). Последующий запрос GET покажет, что запись удалена.
CRUD — фундаментальная структура веб-служб, определяющая четыре основные операции: создание, чтение, обновление и удаление данных. Понимание CRUD необходимо при проектировании API. Составьте список маршрутов для собственного гипотетического API и укажите соответствующие методы HTTP (GET, POST, PUT, DELETE). Например, для API отслеживания любимых песен: GET /songs, POST /songs, GET /songs/{id}, PUT /songs/{id}, DELETE /songs/{id}.