Команди виклику зовнішніх 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