Примеры HTTP сервера
Пример №1: Получение версии SberMobile Server
Этот пример показывает, как получить версию SberMobile Server, используя HTTP запрос.
- Найдите узел Драйверы/Плагины в Системном дереве и дважды кликните мышью на плагин HTTP сервера .
- Добавьте новую запись в Таблицу настроек HTTP сервера.
- Введите
version
в поле URI. - Введите
set(dt(), "responseBody", 0, {:status$version})
в поле выражение. - Выберите пользователя для вычисления выражения. Например:
users.admin
. - Перейдите на
http://localhost:8080/version
Если все сделано правильно, получившаяся страница покажет версию SberMobile Server.
Пример №2: Получение информации о статусе SberMobile Server
Для обработки запросов с параметрами и для других сложных случаев, где одного выражения недостаточно, лучше использовать модели и их наборы правил. Использование переменных среды для хранения промежуточных результатов значительно упростит обработку запросов.
Этот пример показывает, как получить любую информацию из таблицы статусов SberMobile Server.
- Найдите узел Драйверы/Плагины в Системном дереве и дважды кликните мышью на плагин HTTP сервера.
- Добавьте новую запись в Таблицу настроек HTTP сервера.
- Введите
req
в поле URI. - Введите
{users.admin.models.model:request(dt())}
в поле выражение. - Выберите пользователя для вычисления выражения. Например:
users.admin
.
Второй шаг включает создание модели и настройка ее набора правил.
- Создайте новую модель с именем "model".
- Выберите вкладку Наборы Правил.
- Добавьте новый набор правил с именем "request".
- Добавьте к этому набору следующие правила:
Цель | Выражение | Условие | Комментарий |
parameterValues | cell({requestParameters}, "values") | ||
value | cell({env/parameterValues},"value") | ||
result | cell({:status} ,{env/value}) | ||
Final Rule Set Result | set(dt(), "responseBody", 0, {env/result}) |
Сохраните изменения. Теперь вы можете попробовать следующие запросы:
http://localhost:8080/req?parameter=version
http://localhost:8080/req?parameter=name
http://localhost:8080/req?parameter=uptime
В этих запросах значение параметра может быть именем любого поля таблицы статусов.