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