Спасибо Джеффу Смиту за любезную помощь в рецензировании этой статьи.
Актуальные сообщения на SitePoint сегодня:
- Что такое HTTP / 2?
- Приручите непослушные таблицы стилей с этими тремя методологиями CSS
- Ваш регулярный контрольный список обслуживания WordPress
- Хостинг на общих серверах: плюсы и минусы
- Почему каждый сайт нуждается в HTTPS
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-глагола на эти действия: GET
POST
PUT
DELETE
В этот список было добавлено много глаголов, таких как PURGE
PATCH
Эта статья о передовых практиках прагматичного 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 со всеми четырьмя частями, рассмотренными выше:
Ответы, которые вы получаете через ваши запросы, также можно просматривать в необработанной или красивой форме, в дополнение к предварительному просмотру, если ответ представлен в HTML. На следующем рисунке показаны различные способы просмотра ответа в Postman:
Почтальон автоматически сохраняет вызовы API, которые вы делали в прошлом, что экономит время при тестировании API. Кроме того, они могут быть сгруппированы в соответствующие вызовы API для вашего удобства. Вот пример истории вызовов API через Почтальон:
Использование API Facebook Graph через Почтальон
Хороший способ продемонстрировать, как работает Postman, — это API Graph Facebook . В этом посте мы сосредоточимся на постах на временной шкале пользователя, на том, как просмотреть детали поста и, наконец, на том, как создать и удалить пост.
Токен доступа имеет первостепенное значение при использовании Graph API. Есть много разрешений, связанных с токеном. Например, вы можете создать сообщение, используя токен, только если publish_actions
Этот дополнительный уровень безопасности помогает вам назначать определенные действия определенному приложению при входе через Facebook.
Просмотр сообщений
Для отправки запросов в Graph API необходимо сгенерировать токен доступа . После того, как вы сгенерировали токен, вы должны отправить запрос GET
access_token
GET /me/
На рисунке ниже показан базовый вызов API Graph с вашими данными:
Вы можете проверить список сообщений на вашей временной шкале с помощью следующей команды:
GET /me/feed/
Вот как могут выглядеть детали списка сообщений на вашей временной шкале:
Для просмотра сведений об одном сообщении используется следующий ресурс:
GET /post-id/
Детали одного поста выглядят так:
Как сообщение
Чтобы разместить сообщение, просто отправьте запрос POST
publish_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:
Чтобы отредактировать сообщение, необходимо отправить запрос POST
PUT
POST /post-id/
Удаление сообщения
Точно так же, как удаление лайка, удаление сообщения требует, чтобы вы отправили запрос DELETE
DELETE /post-id/
Примечание: в этой статье мы видели, что у Postman много полезных функций. Есть много других функций, таких как запуск коллекции API для нескольких значений данных, которые доступны после обновления с бесплатной версии ($ 9,99 за одну лицензию).
Вывод
Создание API является важной задачей, которая включает в себя много важных шагов. Почтальон облегчает процесс тщательного тестирования. На данный момент Postman, похоже, хорошо решает общие проблемы разработчиков. Тем не менее, еще неизвестно, как он развивается с изменениями парадигмы, которые распространены в веб-индустрии.
Мы пропустили важную особенность Почтальона? Используете ли вы другой клиент для тестирования API? Дайте нам знать в комментариях ниже.