Как создать эндпоинты и зачем они нужны?

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

Как создать эндпоинты и зачем они нужны?

Что такое эндпоинт?

Эндпоинт (в переводе с англ. — конечная точка) представляет собой некий шлюз, который соединяет серверные процессы приложения с внешним интерфейсом. Простыми словами, это адрес, на который отправляются сообщения.

Чтобы понять, что такое эндпоинты, важно упомянуть работу API. API — аббревиатура от application programming interface, что переводится как программный интерфейс приложения. Приложения используют API для взаимодействия со сторонними приложениями и своими пользователями.

Чтобы связаться с API, нужно отправить ему запрос. Для корректной обработки запроса клиент должен предоставить универсальный указатель ресурса (URL), метод (HTTP method), и в зависимости от метода добавить заголовки (headers), тело (body), параметры запроса. Заголовки предоставляют метаданные о запросе, а тело содержит данные, например, поля для новой строки в базе данных.

Как создать эндпоинты и зачем они нужны?

API обработает запрос и отправит ответ, полученный от сервера. Ответ будет содержать код состояния, который является частью ответного сообщения HTTP, информирующего клиента о результате запроса. Например, код 200 используется, если операция завершилась успешно, 500 — если произошла внутренняя ошибка сервера.

Эндпоинты работают вместе с методами API. Это определенные URL-адреса, которые приложение использует для связи со сторонними службами и своими пользователями. URL — это роут, который может обрабатывать разные методы запроса. Каждый тип запроса — это отдельный эндпоинт. Существует пять основных типов:

  • GET — получает информацию с сервера, не требует тела запроса;
  • POST — создает в базе новый объект, требует тело запроса с полями этого объекта;
  • PUT — полностью обновляет конкретный объект в базе данных;
  • PATCH — аналогично PUT, обновляет определенный объект в базе данных, но обновляет только те поля, которые указаны в теле запроса;
  • DELETE — удаляет объект из базы данных.

При формировании конкретного запроса к нему могут добавляться разные параметры. Комбинация этих параметров и URL представляет URI — Uniform Resource Identifier (унифицированный идентификатор ресурса), который указывает, где и как найти ресурс.

Как создать эндпоинты и зачем они нужны?

Как настроить эндпоинты на платформе AppMaster.io?

В разделе Endpoints на платформе AppMaster.io вы можете увидеть все автоматически сгенерированные эндпоинты, а также эндпоинты вашего проекта. Если в вашем проекте включена автогенерация страниц и экранов, для любой созданной модели данных будут автоматически созданы соответствующие эндпоинты. Также эндпоинты могут быть созданы автоматически при установке некоторых модулей, например, Авторизация (Auth), Страны и города (Countries and Cities) и другие.

Как создать эндпоинты и зачем они нужны?

AppMaster.io позволяет работать с несколькими типами API эндпоинтов:

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

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

При создании или редактировании эндпоинта в окне конфигурации вам доступны следующие опции:

  • Метод запроса: GET, POST, PUT, DELETE, или PATCH.
  • URL запроса. Первая часть с путем к серверу не указывается, так как она одинакова для всех эндпоинтов приложения. Достаточно указать окончание, например, /users. Тут же указывается и параметр URL. Допустим, эндпоинт предназначен для получения информации о конкретном пользователе, поэтому в качестве параметра передается его id записанный после “:” (/users/:id).
  • Endpoint Groups. Этот параметр служит исключительно для организации и структуризации работы с эндпоинтами. Все эндпоинты можно разделить по тематическим группам (папкам).
  • Business Process. Один из важнейших параметров, который определяет, что будет делать эндпоинт. При этом сам эндпоинт может оставаться неизменным, он будет получать все те же запросы по старому адресу, но в случае замены бизнес-процесса, выполнять другую функцию. Для основных действий с базой данных автоматически создаются бизнес-процессы, которые нельзя отредактировать, но при необходимости можно заменить на пользовательские БП.
Как создать эндпоинты и зачем они нужны?

Кроме того, вы можете настроить middleware (промежуточное программное обеспечение). Такого рода посредники служат для своеобразной фильтрации запросов приложения. Middleware используют для проверки каких-либо условий перед выполнением запроса. Например, если создать middleware для проверки аутентификации пользователя, тогда, если пользователь не залогинен, middleware перенаправит его на страницу логина. Если он уже же залогинен, middleware не будет вмешиваться в прохождение запроса, передавая его дальше клиенту.

Как создать эндпоинты и зачем они нужны?

Создание эндпоинта в AppMaster.io

Рассмотрим конфигурацию эндпоинтов на практике и разберем это на примере проекта Aviato. Весь процесс создания этого проекта вы можете найти на курсе AppMaster.io.

В рамках проекта мы создали два бизнес-процесса:

  • Validate and create flights — процесс, который будет использоваться для замены бизнес-процесса Create flight;
  • Register passenger — для регистрации пассажира на конкретный рейс.
Как создать эндпоинты и зачем они нужны?

Теперь мы можем использовать эти процессы для настройки эндпоинтов в проекте.

Начнем с бизнес-процесса Validate and create flights. В группе Flight уже есть эндпоинт POST/flights для создания рейса. Теперь нам нужно заменить привязанный к нему бизнес-процесс на новый. Для этого мы нажимаем на значок «Редактировать» (Edit).

В окне конфигурации необходимо выбрать нужный бизнес-процесс. В нашем случае это Validate and create flights. После этого нужно выбрать все входные переменные, которые нам понадобятся. Осталось только сохранить внесенные изменения.

Как создать эндпоинты и зачем они нужны?

Теперь можно настроить следующий эндпоинт для процесса Register passenger.

Наша цель — создать раздел для просмотра конкретного рейса и пассажиров, связанных с ним, а также настроить процесс регистрации новых пассажиров.

В группе эндпоинтов Flights нам нужно создать новый эндпоинт: /flights/:id/register, где id относится к конкретному рейсу, который мы можем использовать в качестве входных данных в бизнес-процессе.

Нажав на иконку Plus, мы можем добавить новый эндпоинт. Метод запроса будет POST, так как мы создаем новый объект. В строке бизнес-процесса выбираем процесс Register passenger. Осталось сохранить эти изменения.

Вот так довольно легко можно создавать эндпоинты на платформе AppMaster.io.

Заключение

Эндпоинты — неотъемлемая часть в работе API, который в свою очередь необходим для расширения проектов и удобной интеграции сервисов и приложений. No-code платформа AppMaster.io позволяет легко работать с эндпоинтами, создавать и настраивать их. Вы всегда можете зарегистрироваться на платформе и проверить весь функционал.

88
2 комментария

Хорошее описание)

1

Спасибо, было полезно