CRUD за 6 минут: просто о создании API

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}.

Что будем искать? Например,программа