Создаете API? 33 инструмента, которые необходимо учитывать

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

Общим для всех этих API является то, что их необходимо разрабатывать. Нам нравится классифицировать разработку API на 3 фазы: Проектирование, Создание и Хостинг.

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

Проектирование, создание и хостинг вашего следующего API

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

Шаг Вход Выход
Дизайн Требования пользователя Спецификация, например, OpenAPI3
Сборка Спецификация дизайна Рабочий код
Хост Рабочий код API работает 24×7

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

Дизайн

ВХОД: Требования пользователя. ВЫХОД: Спецификация

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

«Спецификация OpenAPI (OAS) определяет стандартный, не зависящий от языка интерфейс для RESTful API, позволяющий людям и компьютерам обнаружить и понять возможности сервиса без доступа к исходному коду, документации или путем проверки сетевого трафика.»

Спецификация OpenAPI создается либо в JSON, либо в YAML. Однако эти языки спецификации имеют свои проблемы. Для JSON — на какой скобке я опять стою? А для YAML — сколько пробелов для этого объекта? К счастью, несколько инструментов могут помочь вам создать спецификацию OpenAPI:

  • Swagger: У них есть два варианта: Swagger Editor (бесплатный для загрузки) и Swagger hub (их размещенная служба). Этот сервис определяет, визуализирует и проверяет API в совместной среде.
  • Postman: По их собственным словам, «Postman — это платформа API для создания и использования API».
  • Insomnia: Бесплатное кроссплатформенное приложение для настольных компьютеров, которое избавляет от необходимости взаимодействовать с API на основе HTTP и разрабатывать их.
  • Stoplight: Предлагает инструменты на протяжении всего жизненного цикла API, которые помогают эффективно создавать качественные API.

Построение

ИНПУТ: Спецификация дизайна. ВЫХОД: Рабочий код

Теперь, когда мы определили, что должен делать наш API, и у нас есть спецификация, можно приступать к созданию. Для многих это самая интересная часть — создание кода, который будет выполняться при вызове нашего API. Прежде чем приступить к кодированию, убедитесь, что вы знаете, какую логику нужно добавить в процесс API. Бизнес-логика обычно используется для включения:

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

Здесь есть довольно много вариантов. Вы можете построить свой API на основе полного кода, например, NodeJS, Python: Django или ASP.NET.

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

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

Хранение данных

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

  • AWS: AWS имеет выбор вариантов хостинга баз данных, подходящих для различных потребностей. Эти варианты могут быть достаточно масштабируемыми и гибкими в зависимости от ваших требований, бюджета и технических возможностей.
  • Azure: Как и AWS, Azure также предлагает различные варианты баз данных.
  • MongoDB: Согласно их веб-сайту, «MongoDB — это база данных документов с масштабируемостью и гибкостью, которые вам нужны, с запросами и индексированием, которые вам необходимы».
  • MySQL: MySQL — это реляционная система управления базами данных (РСУБД) с открытым исходным кодом. Она может быть размещена на месте, в облаке (через платформу, такую как AWS или Azure), на локальной машине или даже в контейнере docker.
  • PostgreSQL: PostgreSQL — это мощная объектно-реляционная система баз данных с открытым исходным кодом, которая использует и расширяет язык SQL в сочетании с множеством функций, позволяющих надежно хранить и масштабировать самые сложные рабочие нагрузки данных. Она может быть размещена на локальном сервере или у поставщика услуг, например AWS или Azure.

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

  • Хочу ли я сам разместить базу данных или она будет размещена в облаке?
  • Хочу ли я сам поддерживать базу данных?
  • Какую скорость и масштабируемость я хочу получить от своего хранилища данных?

Утилиты

Вам также могут понадобиться некоторые другие утилиты для вашего API, такие как

Платформы электронной почты

  • AWS SES
  • Sendgrid
  • Mailchimp

Очереди

  • AWS SQS
  • Azure
  • CloudAMQP
  • Kafka

Безопасность

  • AWS Cognito
  • Okta
  • Auth0

Рассмотрите вариант с низким кодом

Причин для создания API на языке low-code много, но в основном они сводятся к экономии времени и простоте. Такие инструменты, как Linx, отлично подходят для разработки API. Это инструмент с низким кодом для создания внутренних процессов, но он также может размещать и вызывать веб-сервисы. Некоторые вещи вы можете делать с помощью Linx: Читать, создавать и изменять файлы, выполнять операции с данными, такие как операции чтения и записи в базу данных, интегрировать несколько различных сервисов и многое другое.

Конструктор Linx

Языки программирования
Если вы решите использовать фреймворк с полным кодом, вот некоторые из них, которые вы можете выбрать

  • .Net: ASP.NET
  • Java: Spring
  • JavaScript: Express
  • Python: Django
  • Ruby: Rails

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

Еще один интересный подход — создание «бессерверных» функций с использованием AWS Lambda или функций Azure для реализации API. Я обнаружил, что архитектурная сложность съедает много времени, но если вы уже знакомы с этими платформами, это может быть простым способом создать пару конечных точек.

Независимо от того, какой подход или фреймворк вы выберете, результатом этого этапа будет рабочий код, который можно вызвать для выполнения API. Допустим, API должен возвращать набор данных из источника данных (например, базы данных), код позволит нам вызвать конечную точку с телом запроса, а код получит соответствующие данные и вернет их нам. Поскольку вы пока не размещаете API на хостинге, вы, скорее всего, будете использовать «localhost».

Инструменты для тестирования API

На этапе создания нам необходимо протестировать наш API, чтобы убедиться, что он работает правильно. Здесь у вас есть несколько вариантов:

  • Использовать веб-браузер: Если ваш API достаточно прост, это возможно, вы получите не самый красивый результат, но в крайнем случае это сработает.
  • Hoppscotch.io: Этот инструмент делает тестирование ваших REST API гораздо более управляемым и бесплатным для использования при написании.
  • Postman
  • Insomnia

Хостинг

ВХОД: Рабочий код. ВЫХОД: API работает 24×7

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

  • Heroku
  • Netlify
  • NodeChef
  • AWS API Gateway
  • Azure App Services

Или, в случае с low-code, хостингом занимается платформа low-code. У таких платформ обычно есть несколько вариантов на выбор, и если со временем ваш API растет и требует больше ресурсов, обратитесь в службу поддержки платформы low-code, чтобы узнать, какие у вас есть варианты.

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

Заключительные мысли

Невероятно видеть, насколько все стало удивительно просто по сравнению с тем, как все делалось всего несколько лет назад. Мысль о том времени, когда вам нужна была база данных, вам нужно было создавать ее самостоятельно, или если вы хотели отправить сообщение через Интернет, вам требовалась степень по математике, электротехнике и информатике.

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

Оцените статью
devanswers.ru
Добавить комментарий