Для отправки запроса к веб-сервисам в Creatio 8 Atlas используется сервис sdk.HttpClientService.
Чтобы отправить запрос к веб-сервису и обработать на странице результат его выполнения:
- На шаге 1 алгоритма кастомизации страницы Freedom UI при необходимости добавьте на страницу надпись, в которой планируется отобразить результат обработки запроса к веб-сервису.
-
На шаге 2 алгоритма кастомизации страницы Freedom UI настройте отправку запроса к веб-сервису и обработку на странице результата его выполнения.
- Подключите сервис отправки HTTP-запросов sdk.HttpClientService. Подключение сервиса аналогично описанному в алгоритме отображения значения системных переменных.
- В секцию viewModelConfig добавьте атрибут, который хранит информацию. Добавление атрибута аналогично описанному в алгоритме настройки условия отображения поля.
- В секции viewConfigDiff привяжите свойство caption к соответствующему атрибуту модели. Привязка свойства аналогична описанной в алгоритме настройки условия отображения поля. Вместо свойства visible используйте свойство caption, которое отвечает за текст отображаемый в элементе.
-
В секцию handlers добавьте пользовательскую реализацию обработчика системного запроса crt.HandlerViewModelInitRequest. Обработчик выполняется при инициализации View модели.
- Создайте экземпляр http-клиента из @creatio-devkit/common.
- Укажите URL для получение необходимой информации. Если запрос отправляется к веб-сервису не по абсолютному пути (без префиксов https:// или http://), то это запрос к внутреннему веб-сервису Creatio. В этом случае в ссылку автоматически добавляется адрес текущего приложения Creatio.
- Отправьте GET-запрос.
- Получите из тела ответа необходимые значения и запишите их в соответствующие атрибуты.
Пример обработчика запроса crt.HandlerViewModelInitRequest, который отправляет запрос к веб-сервису https://SomeUrlValue, из тела ответа получает параметр someValue и записывает его в атрибут SomeAttributeName, представлен ниже.
Секция handlers
Подробный пример настройки отправки запроса к веб-сервису и обработки результат его выполнения приведен в статье Отправить запрос к внешнему веб-сервису и обработать на странице результат его выполнения.
1. Настроить интерфейс страницы
- Используя шаблон Данные и бизнес-процессы (Records & business processes), создайте пользовательское приложение Http Client Service. Для этого воспользуйтесь инструкцией, которая приведена в статье Создать пользовательское приложение.
- В рабочей области страницы приложения Http Client Service откройте страницу Страница записи Http Client Service (Http Client Service form page).
- Удалите поле Название (Name), которое по умолчанию добавлено на страницу Страница записи Http Client Service (Http Client Service form page).
-
Добавьте надпись курса BTC к USD.
- В рабочую область Freedom UI дизайнера добавьте компонент типа Надпись (Label).
-
На панели действий Freedom UI дизайнера нажмите на кнопку и на панели настройки заполните свойства надписи:
- Заголовок (Title) — "Курс BTC к USD" ("BTC to USD exchange rate").
- Стиль (Style) — выберите "Описание" ("Caption").
- Цвет текста (Text color) — выберите серый цвет.
-
Добавьте надпись, которая содержит значение курса BTC к USD.
- В рабочую область Freedom UI дизайнера добавьте компонент типа Надпись (Label).
-
На панели действий Freedom UI дизайнера нажмите на кнопку и на панели настройки заполните свойства надписи:
- Заголовок (Title) — "Курс BTC к USD (значение)" ("BTC to USD exchange rate (value)").
- Стиль (Style) — выберите "Обычный текст" ("Body text").
- На панели действий Freedom UI дизайнера нажмите на кнопку . После сохранения настроек страницы открывается исходный код страницы Freedom UI.
2. Настроить отправку запроса к веб-сервису и обработать результат его выполнения
Бизнес-логика настраивается в дизайнере клиентского модуля. В этом примере настроим отправку запроса к внешнему веб-сервису и обработаем результат его выполнения.
-
Подключите сервис отправки HTTP-запросов sdk.HttpClientService. Для этого добавьте в AMD-модуль зависимость @creatio-devkit/common.
-
В секцию viewModelConfig добавьте атрибут BtcToUsd, который хранит информацию о курсе биткоина к доллару.
-
В секции viewConfigDiff привяжите свойство caption элемента BtcToUsdExchangeRateValue к атрибуту $BtcToUsd модели. Свойство caption отвечает за текст, который содержит элемент.
-
В секции handlers добавьте пользовательскую реализацию обработчика системного запроса crt.HandlerViewModelInitRequest. Обработчик выполняется при инициализации View модели.
- Создайте экземпляр http-клиента из @creatio-devkit/common.
- Укажите URL для получение текущего курса. Используйте внешний веб-сервис coindesk.com.
- Отправьте GET-запрос.
- Получите из тела ответа курс и запишите его в атрибут BtcToUsd.
Полный исходный код схемы страницы - На панели инструментов дизайнера клиентского модуля нажмите Сохранить (Save).
Результат выполнения примера
Чтобы посмотреть результат выполнения примера:
- Перейдите на страницу приложения Http Client Service и нажмите Запустить приложение (Run app).
- На панели инструментов приложения Http Client Service нажмите Добавить (New).
В результате выполнения примера на странице записи пользовательского раздела Http Client Service отображается текущий курс BTC к USD. Значение получено из внешнего веб-сервиса coindesk.com.