Шпаргалка по проектированию REST API и методам HTTP➡️Использование таблицы целей APIТаблица показывает какие вопросы задавать и почему мы должны их задавать, чтобы определить исчерпывающий и точный список целей API:
🔚 Кто – здесь вы перечисляете пользователей API (или профили);
🔚 Что – здесь вы перечисляете, что могут делать эти пользователи;
🔚 Как – здесь вы разбиваете каждое действие на этапы;
🔚 Входные данные (источник) – здесь вы перечисляете, что необходимо
для каждого шага и откуда это берется (чтобы определить недостающих пользователей, действия или способы их реализации);
🔚 Выходные данные (использование) – здесь вы перечисляете, что возвращает каждый этап и как это используется (чтобы определить недостающих пользователей, действия или способы их реализации);
🔚 Цели – здесь вы четко и кратко переформулируете каждый способ реализации + входные данные + выходные данные.
➡️ HTTP-методы: 🔚POST
🔚GET
🔚PUT
🔚PATCH
🔚DELETE
отображают базовые функции CRUD (создание, чтение, обновление, удаление).
Не забывайте, что эти действия выполняются с точки зрения потребителя.
Например, если вы выполните действие DELETE /orders/0123, это не означает, что заказ 0123 будет фактически удален из базы данных, содержащей заказы. Такие действия могут просто изменить статус этого заказа на CANCELED.
Порой начинающим проектировщикам REST API (а иногда даже и опытным) бывает трудно выбрать, какой HTTP-метод соответствует действию, которое явно не отображается в функцию CRUD.
➡️ HTTP-методы за пределами CRUD🔚POST (и PUT в создании) — Создать клиента, добавить блюдо в меню, заказать товары, запустить таймер, сохранить запись в блоге, отправить сообщение в службу поддержки, подписаться на услугу, подписать договор, открыть счет в банке, загрузить фотографию, поделиться статусом в социальной сети и т.д.
🔚GET Прочитать клиента, найти французский ресторан, найти новых друзей, извлечь открытые аккаунты за последние три месяца, загрузить подписанный контракт, отфильтровать самые продаваемые книги, выбрать черно-белые фотографии, перечислить друзей и т.д.
🔚PATCH/PUT Обновить клиента, заменить товар в заказе, поменять места в самолете, изменить способ доставки заказа, изменить валюту заказа, изменить лимит дебетовой карты, временно заблокировать кредитную карту и т.д.
🔚DELETE Удалить клиента, отменить заказ, закрыть дело, завершить процесс, остановить таймер и т.д.
Если вы не можете найти соответствующий HTTP-метод в качестве пары для ресурса и для представления своего действия, по умолчанию можно использовать HTTP-метод POST на крайний случай.⬇️ ⬇️ ⬇️Шпаргалка в высоком разрешении⬆️ ⬆️ ⬆️#аналитик #навыкАналитика #API #REST #шпаргалкаREST #IT