Введение

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

В статье «Web API: The Good Parts», опубликованной O’Reilly, компанией, которая публикует технические книги по программному обеспечению, программист-фрилансер подробно объясняет концепцию и структуру Web API, работая над различными проектами. С помощью этой книги вы можете изучить широкий спектр тем API, от основ до приложений. Если вы занимаетесь разработкой API, покупка этой книги не повредит.

В этой статье я хотел бы подвести итоги этой книги и кратко объяснить, как применить содержание этой книги к веб-разработке. Это только мое личное мнение и предубеждение, но я был бы очень рад, если вы найдете его полезным.

Что такое API?

Определение «API» очень расплывчато. API, на который в основном нацелена эта книга, — это «API, который вызывается по сети с использованием протокола HTTP. Поскольку он использует протокол HTTP, конечная точка указывается URI. Проще говоря, API — это URI.

Проще говоря, API – это веб-система, которая позволяет вам переписывать информацию на стороне сервера или извлекать информацию, размещенную на стороне сервера, посредством доступа к определенному URI. Она предназначена для доступа к программе для использования этих данных. механически. API не предназначены для прямого доступа человека через браузер.

Например, давайте рассмотрим пример с использованием JSONPlaceholder, бесплатного Fake API для тестирования API. Во-первых, получите доступ к следующему URI.

https://jsonplaceholder.typicode.com/posts/1

После доступа сюда вы можете получить информацию следующим образом.

{
  "userId": 1,
  "id": 1,
  "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
  "body": "quia et suscipit\\nsuscipit recusandae consequuntur expedita et cum\\nreprehenderit molestiae ut ut quas totam\\nnostrum rerum est autem sunt rem eveniet architecto"
}

Здесь следует отметить, что эта информация отображается в формате JSON, а не в формате HTML, используемом для отображения веб-страницы в браузере. Другими словами, этот URI не предназначен для прямого отображения в браузере. Вот почему API не предназначены для прямого доступа и использования людьми; они предназначены в первую очередь для программ, которые извлекают данные и используют их для других целей.

Эта книга дает подробное объяснение веб-API, уделяя особое внимание тем, которые используют JSON в качестве формата ответа.

Причина, по которой важна разработка веб-API

В этой книге обсуждается проектирование веб-API. Почему важны веб-API? Короче говоря, раскрытие веб-API становится все более важным в последнее время, и дизайн API очень важен, учитывая, что сам API теперь в некоторых случаях влияет на стоимость и доход компаний и услуг.

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

Новые сервисы, которые предполагается использовать с API

В последние годы увеличилось количество сервисов, предназначенных для использования с API. Такие сервисы часто очень просты по функциям и специализируются на какой-то одной функции. Twillo, например, предоставляет сервис для простой реализации таких функций, как автоматический ответ на телефонные звонки и отправка/получение SMS, которыми можно управлять с помощью веб-API. Такие услуги в основном предоставляются службам, которые являются пользователями, путем доступа к API через Интернет.

Такие услуги кажутся более дорогими, чем самостоятельные операции, если смотреть только на стоимость. Web API играет роль в этой тенденции.

Кроме того, даже в службах, которые пользователи используют напрямую, наблюдается растущая тенденция к службам, которые углубляются в отдельные функции, которые должны быть связаны с другими службами. Например, Pocket — это служба закладок, которая хранит URI для «чтения позже». Различные приложения для смартфонов, которые отображают веб-страницы, поддерживают API Pocket и реализуют функцию, которая позволяет пользователям сохранять веб-страницу, которую они просматривают в данный момент, в Pocket.

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

Что мы должны выпустить в нашем API?

Предположим, вы уже предоставляете свои услуги. Если вы еще не представили свой API в Интернете, вам следует рассмотреть возможность раскрытия вашего API, как уже упоминалось. Но что мы должны раскрыть с помощью нашего API?

Короткий ответ заключается в том, что все, что может сделать служба, должно быть сделано через API. Например, сайт электронной коммерции должен иметь возможность искать и покупать продукты и получать рекомендации, а реальный Сайт поиска недвижимости должен иметь возможность искать и сужать объекты недвижимости, а также получать информацию о планах этажей через API.

Чтобы быть более конкретным, все основные части сервиса должны быть доступны через API. Например, ядро ​​сайта электронной коммерции будет включать поиск и покупку продуктов.

Риски раскрытия API

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

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

Вторая предпосылка заключается в том, что люди, пытающиеся украсть данные, будут пытаться украсть информацию независимо от того, является ли API общедоступным или частным; существует метод, называемый парсингом веб-страниц, который механически получает доступ к HTML-страницам и извлекает информацию. от них. Обычно это делают разработчики, которые отчаянно нуждаются в информации, чьи API-интерфейсы не являются общедоступными. Если они не управляют своими собственными API, они могут оказаться в ситуации, когда не смогут контролировать получение информации.

Краткое содержание

В этой статье было кратко объяснено следующее содержание на основе технической книги O'Reilly «Web API: The Good Parts».

  • Что такое веб-API?
  • Почему важно разрабатывать веб-API
  • Что вы должны показать в своем API
  • Риски раскрытия API

Я надеюсь, что эта статья дала вам хорошее представление о веб-API. В следующей статье я подробно объясню дизайн конечной точки API и формат запроса.