Знакомство с REST APIЧтобы научится проектировать интерфейсы, необходимо получить достаточное представление о
REST API. Мы проанализируем вызов REST API, сделанный потребителем API-интерфейса онлайн-магазина для получения информации о товаре:
GET /products/{productId} (смотри рисунок).
Чтобы получить информацию о товаре через REST API онлайн-магазина, клиент взаимодействует с сервером по протоколу HTTP. Рассмотрим пример запроса для товара с идентификатором “123”:
🔚Что происходит, когда потребитель хочет достичь цели «Получить товар»
❓ 🔚Или, говоря более конкретно, что происходит, когда он хочет получить подробную информацию о товаре с идентификатором “123” из каталога товаров с помощью REST API онлайн-магазина
❓Потребители должны
обмениваться данными с сервером, на котором размещен API, используя
протокол HTTP, как показано на рисунке.
Потребитель должен отправить
HTTP-запрос GET /products/123 на сервер API онлайн-магазина. В
ответ сервер возвращает ответ,
200 OK, за которым следует информация о запрашиваемом товаре.
Обратите внимание, что мы упростили этот обмен данными по протоколу HTTP, чтобы сосредоточиться только на тех элементах, которые важны для нас сейчас. Запрос состоит из HTTP-метода
GET и пути
/products/123.
🔚Путь – это адрес, идентифицирующий ресурс на сервере; в данном случае товар “123” находится в products.
🔚HTTP-метод указывает на то, что потребитель хочет сделать с этим ресурсом: GET означает, что он хочет получить ресурс.
➡️С функциональной точки зрения такой запрос означает что-то вроде: «
Привет, могу ли я получить информацию о товаре с идентификатором 123?»
➡️Но с точки
зрения протокола HTTP это означает: «
Привет, могу ли я определить ресурс по пути /products/123?»
🔚Первая часть ответа состоит из кода состояния
HTTP 200 и поясняющей фразы
OK. Код состояния сообщает нам, как прошла обработка запроса. Благодаря поясняющей фразе мы можем догадаться, что код состояния HTTP 200 означает, что все прошло нормально.
🔚Вторая часть ответа называется телом ответа. Она содержит содержимое ресурса, идентифицированного путем в запросе, который в данном случае представляет собой информацию о товаре "123" в
виде данных в формате JSON.
➡️С функциональной точки зрения ответ, возвращаемый сервером API, в основном означает: «
Конечно, вот информация о запрашиваемом товаре».
➡️С точки зрения HTTP имеется в виду: «
Нет проблем, вот содержимое запрошенного ресурса».
Теперь вы знаете, как потребители могут вызывать API онлайн-магазина, чтобы получить товар.#аналитик #навыкАналитика #API #IT