Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

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

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

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

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

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

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

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

Как работает API

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

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

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

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

URL в эндпоинтах

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

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

Эндпоинты в AppMaster.io

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

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

Типы эндпоинтов

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

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

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

Редактирование эндпоинтов

Кроме того, вы можете настроить middleware (промежуточное программное обеспечение). Такого рода посредники служат для своеобразной фильтрации запросов приложения. 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

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

Заключение

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

Похожие статьи

Система управления обучением (LMS) и система управления контентом (CMS): основные различия
Система управления обучением (LMS) и система управления контентом (CMS): основные различия
Узнайте о важнейших различиях между системами управления обучением и системами управления контентом, чтобы улучшить образовательные практики и оптимизировать доставку контента.
Окупаемость инвестиций в электронные медицинские карты (ЭМК): как эти системы экономят время и деньги
Окупаемость инвестиций в электронные медицинские карты (ЭМК): как эти системы экономят время и деньги
Узнайте, как системы электронных медицинских карт (ЭМК) трансформируют здравоохранение, обеспечивая значительную окупаемость инвестиций за счет повышения эффективности, сокращения затрат и улучшения ухода за пациентами.
Облачные системы управления запасами против локальных: что подходит для вашего бизнеса?
Облачные системы управления запасами против локальных: что подходит для вашего бизнеса?
Изучите преимущества и недостатки облачных и локальных систем управления запасами, чтобы определить, какая из них лучше всего подходит для уникальных потребностей вашего бизнеса.
Начните бесплатно
Хотите попробовать сами?

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

Воплотите свои идеи в жизнь