Платформа A2v10 довідкова система
EN


Команди типу callApi

Команди виклику зовнішніх API дозволяють звертатися до зовнішніх ресурсів по протоколу http.

Поведінка команди визначається параметрами, які передаються в команду з використанням властивості parameters команди.

Параметри

Ім'я Тип Опис
url string Обов'язково. Url, що викликається. Підтримуються прив'язки.
method enum Не обов'язково. http метод. get або post. За замовчуванням - get.
headers object Не обов'язково. Заголовки запиту. Об'єкт, властивості якого будуть додані як заголовки запиту. Ім'я властивості - ім'язаголовку, значення - значення заголовку. В значеннях підтримуються прив'язки.
body object Не обов'язково. Тіло запиту. Може бути рядком або об'єктом. Підтримуються прив'язки. Якщо тіло являє собою об'єкт, воно буде серіалізовано у формат json.

Є можливість завантаження моделі даних перед зверненням до зовнішнього API. Це може бути потрібно, якщо якісь властивості для звернення зберігаються в БД. У цьому випадку потрібно визначити модель стандартним набіром властивостей model, schema, source.

Прив'язки

Для того, щоб у властивостях можна було використовувати значення "ззовні", використовуються прив'язки. Прив'язка це просто шлях до властивості, взятий у подвійні квадратні або круглі дужки.

Прив'язка Тип Опис
[[param]] Параметри команди Значення з параметрів команди. Зверніть увагу, що це не властивість parameters, а параметри, з якими команду викликано з клієнта.
((key.prop)) Середовище Значення з appSettings файлу конфігурації. key являє собою ім'яключа, а prop - властивість. Значення appSettings повинно бути представлено у форматі json.
{{path}} Модель даних Властивість з моделі даних. path являє собою шлях до властивості в моделі даних. Допустимо тільки у випадку завантаження моделі даних перед виконанням команди.

Приклад

Нехай, наприклад, ми бажаємо дізнатися прогноз погоди за допомогою сервису openweathermap. Місто, в якому ми хочемо дізнатися прогноз погоди, будемо передавати в параметрі команди City. Ключ для доступу до api будемо зберігати в файлі конфигурації програми.

Серверна команда

"commands": {
"getWeather": {
	"type": "callApi",
	"parameters": {
		"url": "https://samples.openweathermap.org/data/2.5/weather?q=[[City]]&appid=((openweathermap.appid))",
		"method": "get"
	}
}

Виклик з клієнта


Налаштування ключа в файлі web.config


Результат (в консолі браузера)