Алгоритм CRUD

Алгоритм CRUD Программирование и разработка

Алгоритм CRUD

API должен выполнять четыре типа функций. Он должен иметь возможность создавать новые данные, а также читать, обновлять и удалять существующие. В информатике мы называем эти параметры CRUD.

Метод CRUD необходим при создании веб-приложений, поскольку он позволяет структурировать модели, которые вы создаёте для своих API. Но как работает CRUD? Как вы взаимодействуете с API с помощью CRUD?

В этой статье мы отвечаем на эти вопросы. Мы начнём с обсуждения основ CRUD, а затем рассмотрим несколько примеров того, как взаимодействовать с API с помощью CRUD.

Зачем нам нужен CRUD

Допустим, мы создаём API, в котором хранится кофе, продаваемый в нашем кафе. Этот API должен иметь возможность хранить различные объекты кофе. Кофейный объект может включать:

  • Уникальный идентификатор кофе.
  • Название кофе.
  • Цена на кофе.

Мы хотим убедиться, что пользователи могут взаимодействовать и изменять данные, хранящиеся в нашем API. Вот почему нам нужно следовать структуре CRUD. В конце концов, для чего нужен API, в котором хранится кофе, если компания не может изменить цену на свой кофе? Зачем компании использовать API, который не позволяет удалять записи?

Что такое CRUD

CRUD — это аббревиатура от Create, Read, Update и Delete.

Когда вы работаете с веб-службами, CRUD соответствует следующим HTTP-методам, которые используются, чтобы сообщить веб-серверу, как вы хотите взаимодействовать с веб-сайтом:

  • Создать: POST.
  • Читать: GET.
  • Обновление: PUT.
  • Удалить: DELETE.

Давайте рассмотрим каждого в отдельности.

Мы собираемся использовать утилиту командной строки cURL для создания примеров запросов к API кофе, чтобы вы могли увидеть, как работают эти операции. Прежде чем мы начнём, запустите следующую команду в терминале на вашем компьютере, чтобы убедиться, что cURL установлен:

curl

Если в вашем терминале появляется ошибка «curl: command not found», вам необходимо установить cURL. В противном случае вы готовы приступить к работе!

Создать

API, который хранит данные для нашего кафе, должен позволить нам добавлять новые записи в меню. В этом случае мы сможем создать новый кофейный элемент, указав его название и цену.

Чтобы добавить новый кофе в меню, мы можем использовать запрос POST, который позволяет нам отправлять данные в наш API, которые будут храниться в базе данных.

Вот информация о кофейном элементе, который мы хотим добавить:

  • Название: Эспрессо
  • Стоимость: 1.95

Следующая команда cURL позволяет нам создать кофе с этими деталями с помощью нашего API:

curl -X POST http: // localhost: 5000 / add -d name = Espresso -d price = 1.95

В этой команде мы используем флаг -X, чтобы структурировать наш запрос как запрос POST. Затем мы используем флаги -d, чтобы указать данные, которые мы хотим отправить в наш API. В этом случае мы используем два флага -d: один для указания названия кофе, а другой для указания его цены. Наш код возвращает:

{«name»: «Espresso», «price»: «1,95»}

Эта команда создаёт новый кофе в нашей базе данных с именем «Эспрессо» и ценой «1,95».

Читать

Наш API должен позволять нам видеть список всех сортов кофе в нашем меню. Чтобы увидеть эти данные, мы можем использовать запрос GET. Это позволяет нам видеть список кофе в нашем меню, не внося изменений в данные, хранящиеся в нашем API.

Эта команда позволяет нам получить список кофе из нашего API:

curl -X GET http: // localhost: 5000 / coffees

Наша команда возвращает:

{

«coffees»: [

{

«id»: 1,

«name»: «Espresso»,

«price»: 1.95

},

{

«id»: 2,

«name»: «Latte»,

«price»: 2.6

}

]

}

Как видите, этот ресурс позволяет нам получить список кофе. API, использующий структуру CRUD, часто также позволяет получать отдельные записи. Например, следующая команда позволяет нам получить данные об одном элементе кофе:

curl -X GET http: // localhost: 5000 / coffees / 1

Наш код возвращает:

{

«coffees»: [

{

«id»: 1,

«name»: «Espresso»,

«price»: 1.95

}

]

}

Вы можете видеть, что наша команда вернула кофе, идентификатор которого равен 1. В данные не было внесено никаких изменений, потому что запросы GET могут получать данные только из API.

Обновить

Нам также необходимо поддерживать обновление записей в нашем API. Соответствующий HTTP-метод для обновления ресурса с помощью CRUD — PUT.

Если мы хотим изменить цену нашего латте на 2,75 доллара, мы можем использовать следующий запрос PUT:

curl -X PUT http: // localhost: 5000 / update / 2 -d name = Latte -d price = 2.75

Наш код возвращает:

{

«coffees»: [

{

«id»: 2,

«name»: «Latte»,

«price»: 2.75

}

]

}

Этот запрос изменяет имя и цену записи Latte на значения, которые мы указали в нашей команде cURL.

Удалять

Последняя операция в структуре CRUD — это Delete, чей соответствующий HTTP-метод — DELETE.

Предположим, у нас закончился порошок эспрессо, и мы должны удалить его из нашего меню. Мы могли бы сделать это, используя следующий запрос:

curl -X DELETE http: // localhost: 5000 / DELETE / 1

Когда мы запускаем этот код, ответ не возвращается. Это потому, что указанный кофе удалён с нашего сервера. Если мы запустим запрос GET, чтобы снова увидеть список кофе, мы увидим, что запись со значением 1 — эспрессо — была удалена.

CRUD

Теперь вы знаете основы. CRUD — это структура, которая определяет четыре основные операции, которые должна выполнять веб-служба. Чтобы углубить свои знания о CRUD, подумайте о гипотетическом API, который вы можете спроектировать и составить список маршрутов.

Например, API для отслеживания ваших любимых песен может иметь следующие маршруты:

  • /songs (GET)
  • /songs/new (POST)
  • /songs/:id (GET)
  • /songs/:id (PUT)
  • /songs/:id (DELETE)

Попробуйте составить список маршрутов для вашего собственного API и запишите соответствующие методы HTTP.

Если вы хотите поиграть с веб-запросами, которые мы использовали в этом руководстве, вы можете просмотреть код, который мы использовали для размещения API на GitHub.

Читайте также:  Что такое язык XML
Оцените статью
bestprogrammer.ru
Добавить комментарий

  1. Давид

    curl -X УДАЛИТЬ http: // локальный: 5000 / удалить / 1 =
    curl -X DELETE http: // локальный: 5000 / DELETE / 1
    ?

    Ответить