Обработчик расширенного REST API

Веб-обработчик относится к системе, имеющей коннектор типа Расширенное REST API.

Внутри обработчика происходит настройка метода:

  • Наименование.

  • Комментарий.

  • Тип (Веб-обработчик).

  • Тип метода (GET, POST, PUT, DELETE).

  • Имя таблицы обработчика, которая будет выступать как источник, если указано направление В Platform. Если указано направление ИЗ Platform, таблица выступает как приемник.

  • Тип внешнего типа данных.

  • Шаблон пути. В поле Шаблон пути можно использовать параметры:
    • {path} путь к методу со всей иерархией папок;

    • {method} имя метода;

    • {folder} имя текущей папки метода.

  • Таймаут вызова.

  • Параметры запроса.

  • вPlatform (для методов POST, PUT).

  • изPlatform (для методов POST, PUT).

  • Системы (список систем для данного обработчика).

  • Настройка флагов: требуется авторизация авторизация, ожидание ответа.

Если в Ответе настроен Немассив, а в теле сообщения от процесса приходит массив, при парсинге ответа в веб-сервис проверяется количество элементов в массиве:

../../../_images/image127.png
  • если элементов 0, то это интерпретируется как пустое тело, выводится значение соответствующего типа данных с пустыми значениями полей;

  • если 1, то интерпретируется первый элемент массива как тело сообщения и выводится соответствующее значение;

  • в других случаях регистрируется ошибка, что получен массив.

Сообщения могут быть отправлены без указания в теле значений полей. Например:

{
  "поле3": "string"
}
../../../_images/fields_null.png

В этом случае в ответном сообщении будут переданы соответствующие значения полей:

 {
  "Поле1": "",
  "Поле2": null,
  "Поле3": "string"
}

Код обработчика

Код обработчика пишется на языке C#.

В коде обработчика c направлением В Platform доступна переменная RunMessage. В этой переменной содержится сообщение, полученное из внешней системы.

Содержимое переменной RunMessage можно модифицировать с помощью методов для работы с сообщениями. После завершения работы обработчика содержимое переменной RunMessage отправляется в Платформу.

RunMessage.SetBody(Object); - установить новое тело сообщения.

Особенности формирования шаблона пути

Имена переменных регистрозависимые; если регистр переменной и маски в пути совпадает, то в запрос передается значение параметра из swagger веб-сервиса:

../../../_images/image128.png

Если регистр не совпадает, то в запросе остается имя параметра в скобках:

../../../_images/image129.png

Помимо этого, при формировании шаблона пути можно использовать стандартные маски, такие как {path}, {method} и {folder}. Если в параметрах обработчика будут заданы пользовательские параметры с этими именами, то они считаются приоритетными и подставляются в шаблон пути: иначе эти параметры будут определены автоматически от расположения обработчика в иерархии папок:

../../../_images/image130.png