Статьи

Создание и тестирование API стало проще с почтальоном

Спасибо Джеффу Смиту за любезную помощь в рецензировании этой статьи.


Актуальные сообщения на SitePoint сегодня:


Почтальон логотип

API (интерфейс прикладного программирования) — это средство взаимодействия между приложениями. API, которые используют HTTP или HTTPS, называются веб-API.

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

Создавая API для вашего сервиса, вы позволяете сторонним разработчикам создавать приложения на основе вашего сервиса. Например, социальная газета Frrole использует API Twitter для генерации контекстной информации, анализируя большой объем твитов.

Предполагая, что вы оценили все плюсы и минусы создания API , давайте кратко поговорим о процессе создания и тестирования API.

Создание API

Хотя существует множество способов создания API, веб-API создается с использованием инфраструктуры REST ( Re Presenalal S tate Transfer). Платформа REST устанавливает набор рекомендаций, которым необходимо следовать при создании API. С большим количеством API, создаваемых ежедневно, он служит стандартом для веб-API.

Четырьмя наиболее распространенными действиями, выполняемыми через API, являются просмотр , создание , редактирование и удаление объектов. Среда REST отображает четыре HTTP-глагола на эти действия: GETPOSTPUTDELETE В этот список было добавлено много глаголов, таких как PURGEPATCH Эта статья о передовых практиках прагматичного API RESTful , написанная Vinay Sahni, основателем Enchant.com, может оказаться полезной для начинающего разработчика.

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

Тестирование API через CLI

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

Использование API включает запрос к требуемому ресурсу (обычно URL) с использованием одного из глаголов (или методов). Возможно, вам придется добавить заголовки в зависимости от требований используемого вами API. Один из способов запросить такой ресурс — через командную строку.

В этом посте мы сосредоточимся на четырех частях вызова API — URL, HTTP-глагол, заголовки и параметры. Мы будем использовать библиотеку cURL для отправки запросов к ресурсам API через CLI. cURL — это инструмент командной строки, который помогает в передаче данных с синтаксисом URL — поддержка FTP, FTPS, HTTP, HTTPS.

Давайте посмотрим на следующую команду:

 curl -i -X POST -H 
    "Content-Type:application/json" 
    http://www.my-api-example.com:port/ -d 
    '{"Name":"Something"}'

Команда -iвключение , которое сообщает команде, что заголовки присутствуют в запросе. За параметром -Xметод HTTP. -Hзаголовки , которые добавляются в запрос. Наконец, опция -dданные пользовательской формы, которые будут переданы вместе с запросом.

Результатом вызова API является HTTP-ответ, обычно закодированный в формате JSON . Ответ связан с кодом ответа HTTP, который предоставляет информацию о состоянии запроса (например, 200 для OK, 404, если ресурс не существует, 500, если есть ошибка сервера, и 403, если ресурс запрещен). Например, следующий ответ может быть отправлен в результате более раннего запроса вместе с кодом состояния 200:

 {"message":"success","id":"4"}

Тестирование таких ответов в командной строке также представляет собой проблему, особенно если ответы имеют большое количество параметров.

Список опций CLI при тестировании API приведен в этом подробном руководстве Codingpedia .

Сделать тестирование проще с почтальоном

Postman — это пакет разработки API с мощными функциями, которые делают процесс разработки API быстрым и безболезненным. Он доступен как расширение Chrome и как собственное приложение для Mac, Windows и Linux. Более миллиона разработчиков сделали попытку. Чтобы установить расширение Chrome, необходимо сначала установить Chrome и перейти на страницу проекта в Интернет-магазине Chrome .

Давайте сначала посмотрим, как мы можем эмулировать наш предыдущий запрос CLI через Postman. На следующих рисунках показано создание вызова API в Postman со всеми четырьмя частями, рассмотренными выше:

вызов API

вызов API

Ответы, которые вы получаете через ваши запросы, также можно просматривать в необработанной или красивой форме, в дополнение к предварительному просмотру, если ответ представлен в HTML. На следующем рисунке показаны различные способы просмотра ответа в Postman:

просмотр ответа в Почтальон

Почтальон автоматически сохраняет вызовы API, которые вы делали в прошлом, что экономит время при тестировании API. Кроме того, они могут быть сгруппированы в соответствующие вызовы API для вашего удобства. Вот пример истории вызовов API через Почтальон:

история вызовов API

Использование API Facebook Graph через Почтальон

Хороший способ продемонстрировать, как работает Postman, — это API Graph Facebook . В этом посте мы сосредоточимся на постах на временной шкале пользователя, на том, как просмотреть детали поста и, наконец, на том, как создать и удалить пост.

Токен доступа имеет первостепенное значение при использовании Graph API. Есть много разрешений, связанных с токеном. Например, вы можете создать сообщение, используя токен, только если publish_actions Этот дополнительный уровень безопасности помогает вам назначать определенные действия определенному приложению при входе через Facebook.

Просмотр сообщений

Для отправки запросов в Graph API необходимо сгенерировать токен доступа . После того, как вы сгенерировали токен, вы должны отправить запрос GETaccess_token

 GET /me/

На рисунке ниже показан базовый вызов API Graph с вашими данными:

базовый вызов API Graph

Вы можете проверить список сообщений на вашей временной шкале с помощью следующей команды:

 GET /me/feed/

Вот как могут выглядеть детали списка сообщений на вашей временной шкале:

список сообщений на вашей временной шкале

Для просмотра сведений об одном сообщении используется следующий ресурс:

 GET /post-id/

Детали одного поста выглядят так:

детали одного поста

Как сообщение

Чтобы разместить сообщение, просто отправьте запрос POSTpublish_actions

 POST /post-id/likes/

Отправка подобного запроса через Postman выглядит следующим образом:

Подобный запрос через Почтальон

Точно так же вы можете удалить лайк, отправив запрос DELETE

 DELETE /post-id/likes/

Создать сообщения

Чтобы создать сообщение, вам нужно отправить несколько параметров в дополнение к запросу POST Вам нужно publish_actions

Вы можете добавить следующие параметры в ваш запрос POST

  • message
  • link
  • placeна месте)
  • tags
  • privacy
  • object_attachment

Документация объясняет использование всех этих функций.

Вы можете создать сообщение на своей временной шкале или записи пользователя, страницы, события или группы в соответствии с URL-адресом, по которому вы решили отправить запрос:

 POST /me/feed/
POST /user-id/feed/
POST /page-id/feed/
POST /event-id/feed/
POST /group-id/feed/

Давайте попробуем разместить на нашем собственном графике. Если запрос выполнен успешно, мы получаем идентификатор сообщения, которое было создано. Вот пример создания нового поста с использованием Graph API:

новый пост с использованием Graph API

Чтобы отредактировать сообщение, необходимо отправить запрос POSTPUT

 POST /post-id/

Удаление сообщения

Точно так же, как удаление лайка, удаление сообщения требует, чтобы вы отправили запрос DELETE

 DELETE /post-id/

удаление сообщения

Примечание: в этой статье мы видели, что у Postman много полезных функций. Есть много других функций, таких как запуск коллекции API для нескольких значений данных, которые доступны после обновления с бесплатной версии ($ 9,99 за одну лицензию).

Вывод

Создание API является важной задачей, которая включает в себя много важных шагов. Почтальон облегчает процесс тщательного тестирования. На данный момент Postman, похоже, хорошо решает общие проблемы разработчиков. Тем не менее, еще неизвестно, как он развивается с изменениями парадигмы, которые распространены в веб-индустрии.

Мы пропустили важную особенность Почтальона? Используете ли вы другой клиент для тестирования API? Дайте нам знать в комментариях ниже.