Найти тему
QA Way - QA Automation

Какие бывают API - REST

Оглавление

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

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

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

  • REST
  • SOAP
  • GraphQL
  • WebSockets
  • gRPC

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

REST

REST API предназначены для обеспечения доступности серверных данных. Они представляются в простых форматах, таких как JSON или XML. Аббревиатура REST расшифровывается как REpresentational State Transfer. Она появилась в 2000 году после того, как была представлена Роем Филдингом. Этот тип API соответствует шести определённым архитектурным ограничениям:

  • Единый интерфейс
  • Отсутствие записи состояния клиента
  • Кэширование
  • Архитектура клиент-сервер
  • Многоуровневая система
  • Возможность предоставлять клиенту исполняемый код

Плюсы

Операции выполняются с помощью различных HTTP-методов. Среди них GET, POST, PUT, DELETE и PATCH. Используя их, REST API становятся чрезвычайно эффективными для использования в Интернете.

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

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

  • Возможность реализовывать операции CRUD с помощью HTTP стандартных методов.
  • Много разработчиков уже знакомы с REST, т.к. он используется уже давно.
  • Поддержка кэширования.
  • Масштабируемость и разделение между клиентом и сервером.
  • Легкая интеграция в несколько приложений.

Минусы

Недостаток REST API заключается в том, что иногда вы можете получить больше данных, чем вам требуется и это может вызвать больше проблем, чем пользы. Или наоборот, придётся делать дополнительные запросы к API для получения всех нужных данных, что замедляет процесс.

Обратной стороной гибкости, является отсутствие обязательного контракта в котором указано, какая структура используется для сообщений. В результате, когда дело доходит до реализации, возникает много проблем и узких мест.

  • Имеет проблемы чрезмерной и недостаточной выборки.
  • Отсутствие поддержки состояния.
  • Имеет большие размеры запросов и ответов.
  • Количество конечных точек резко увеличивается по мере масштабирования приложения.

В следующий раз мы рассмотрим несколько других популярных API.