Вводный курс
10 модулей
5 недели

Общая информация

Скопировать

Введение в эндпойнты


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

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

Для понимания давайте рассмотрим реализацию эндпойнтов на конкретном примере. В третьем модуле была создана модель базы данных. При этом, одновременно с созданием таблиц, автоматически были созданы и эндпойнты для взаимодействия с ними. Перейдем в раздел эндпойнтов (на левой панели) и посмотрим на них.

На примере таблицы “city” с информацией о городах видно, что в ней уже есть 6 эндпойнтов для базовых операций с данными.

  • GET /city - получение всех данных из таблицы
  • GET /city/:id - получение данных об одном городе с указанным id
  • POST /city - добавление новой записи в таблицу
  • PUT /city/:id - полная замена записи с указанным id в таблице
  • PATCH /city/:id - частичная замена записи с указанным id в таблице
  • DELETE /city/:id - удаление записи с указанным id из таблицы

Основные настройки

У каждого эндпойнта можно открыть настройки и изучить его более детально. Для примера рассмотрим эндпойнт GET /city/:id

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

  1. Метод запроса. В данном примере это метод GET
  2. URL запроса. Первая его часть с путем к серверу не указывается, она одинакова для всех эндпойнтов приложения. Достаточно указать лишь окончание (/city). Тут же указывается и параметр URL. Эндпойнт предназначен для получения информации о конкретном городе, поэтому в качестве параметра передается его id записанный после “:”.
  3. Endpoint Groups. Этот параметр никак не влияет на саму работу эндпойнта и предназначен только для удобства их организации. Все эндпойнты можно разделить по тематическим группам (папкам). В данном примере это группа “city” и в ней собраны все эндпойнты для работы с данными по городам.
  4. Business Process. Это самый важный пункт настройки и это то, что никак нельзя было увидеть при отправке запроса на эндпойнт. Именно указание бизнес-процесса определяет, что же будет делать данный эндпойнт. При этом сам эндпойнт может оставаться неизменным, он будет получать все те же запросы по старому адресу, и при этом, в случае замены бизнес-процесса, выполнять совершенно другую функцию. Бизнес-процессы для основных действий с базой данных создаются автоматически. Они называются системными бизнес-процессами. Такие БП нельзя изменить, но их в любой момент можно заменить на БП, созданные самостоятельно, на пользовательские бизнес-процессы.
  5. Input/Output variables. Созданный бизнес-процесс использует различные входные и выходные переменные, но в эндпойнте не обязательно использовать их все. Часть можно отключить или настроить так, чтобы различные эндпойнты обращались к одному БП с индивидуальным набором переменных. Тут же настраивается и сам тип запроса и ответа (Request/Response type). Чаще всего этим типом будет являться JSON, но, при необходимости, можно использовать и другие варианты, например XML или Render File (данный тип ответа используется в эндпойнтах для работы с файлами).

Настройки Middleware

Основных настроек достаточно для создания и дальнейшего использования эндпойнта, но при необходимости возможно использование и дополнительных параметров. Важнейшим из них является активация Middleware с токеном Auth.

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

Дополнительные настройки

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

Was this article helpful?
Все еще ищете ответ?
Cообщество