Под API, обычно, подразумевают способ, с помощью которого программы или сервисы могут запрашивать данные у других сервисов. Разберем на примере.
У твиттера есть сайт, на котором мы можем просматривать твиты. Кликая по ссылкам мы попадаем на разные адреса, по которым доступна разная информация: лента твитов, страница твита, личный кабинет, сброс пароля, рекламный кабинет и так далее.
Каждая из этих страниц возвращает HTML, в котором информация представлена в том виде, в котором мы ее видим, со всеми элементами дизайна. Сайт твиттера адаптирован под небольшие экраны, поэтому открывается с любого устройства где есть браузер. Но кроме сайта у твиттера есть и мобильное приложение, которое показывает ту же самую информацию, но с другим, более удобным интерфейсом, адаптированным под конкретный телефон.
Мобильное приложение, в отличии от сайта, физически хранится и запускается прямо на телефоне. И весь внешний вид тоже описывается внутри приложения. Для работы такого приложения нужны чистые данные, которых на телефоне нет, они есть на серверах твиттера. Как загрузить их на телефон? Обычные адреса страниц нам не подходят, так как они возвращают не данные, а готовые html-страницы.
Именно здесь на помощь приходит API. Твиттер предоставляет специальные HTTP-адреса, по которым доступны чистые данные, а не конкретные интернет-страницы с готовым внешним видом. Данные по таким адресам отдаются в структурированном формате, чаще всего JSON. Один сервис “упаковывает” данные в JSON формат, другой, который ходит за данными, “распаковывает” их из JSON и использует внутри себя для отображения. Пример запроса пользователя:
# Адрес, по которому возвращается список указанных пользователей
# В данном случае запрашивается один пользователь
https://api.twitter.com/2/users/by?usernames=hexletHQ
# В ответ приходит JSON такой структуры:
{
"data": [
{
"created_at": "2013-12-14T04:35:55.000Z",
"id": "2244994945",
"name": "HexletHQ",
"description": "Хекслет - курсы программирования",
"pinned_tweet_id": "1464165859761573893",
"username": "hexlethq"
},
],
}
Задача этого API дать удобный доступ к данным твиттера. Причем это API используется как самим твиттером в мобильных приложениях, так и сторонними сервисами, которые управляют твиттером. Например маркетологи используют сервисы, которые автоматически публикуют твиты по расписанию.
Twitter API – это пример HTTP API, оно работает по протоколу HTTP, через который браузеры загружают и показывают сайты. HTTP наиболее распространенный и удобный способ делать API для публичных интернет-сервисов. На него заточен весь интернет, у него хорошая поддержка в любом языке программирования. В конце-концов это простой протокол, который так или иначе знают все кто связан с разработкой веб или мобильных приложений.
В этом курсе мы поговорим о том что из себя представляет HTTP API, каким оно бывает и как работает. Мы научимся делать запросы к API для его анализа и тестирования используя программу curl и сервис Postman. Познакомимся со стандартом OpenAPI (бывший Swagger), который используется для описания формата API.
Курс посвящен тому как строится API используя HTTP, который изучается в другом курсе. Рекомендуем пройти его, если вы не знакомы с HTTP. Так же будет полезно пройти курсы по основам командной строки и HTML.
Вам ответят команда поддержки Хекслета или другие студенты.
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт