| HOWTO: создание и отладка HTTP-сервиса в 1С:Предприятие |
|
Начнем с конца: что в итоге должно получиться... Создание HTTP-сервиса.Предположим, что нам нужен HTTP-сервис, который по запросу вернет список пользователей. Выглядеть он должен следующим образом: http://localhost/base/hs/info?action=getusers Возвращать должен строку JSON (массив объектов JSON со свойствами: имя пользователя, id пользователя):
Чтобы это реализовать, создадим в конфигурации (или в расширении) объект HTTP-сервис. Как он будет называться – неважно, для простоты назовем его «Инфо». Корневой URL должен быть равен «info».
Далее добавим к нему шаблон URL, для простоты назовем его «Основной». Значение шаблона должно быть равно «/*».
К шаблону мы добавим метод GET: имя = «GET», HTTP-метод = «GET».
Примечание. Имя метода рекомендуется назначать по имени HTTP-метода.
Создадим обработчик HTTP-метода GET.
По умолчанию процедура обработчика метода заполнена кодом, возвращающим стандартный успешный HTTP ответ (код 200).
Скорректируем его так, чтобы он возвращал нам список пользователей.
Проверяем результат:
Отладка HTTP-сервиса.Настройка подключения отладчика.Для отладки HTTP-сервиса нужно включить (или убедиться в том, что включено) следующие флажки.
Проверим, как это все работает.Поставим точку останова в начале функции метода GET:
Обновляем страничку с вызовом нашего сервиса.
Убеждаемся, что наш отладчик успешно подключился к сеансу HTTP-сервиса:
Заключение.В этой статье рассмотрен простейший пример для быстрого создания HTTP-сервиса с целью освоения механизмов работы с ним. В заключении хотелось бы упомянуть про возможность создания HTTP-сервисов с параметрами URL, например:
Эта возможность настраивается в ШаблонеURL HTTP-сервиса. Для вышеуказанного примера шаблон мог бы выглядеть так: «/users/{idПользователя}/*» или так «/{Раздел}/{id}/*».
В функции обработчика метода этого шаблона параметры URL можно получить через свойство Запрос.ПараметрыURL, например так: Запрос.ПараметрыURL[«idПользователя»]
Обратите внимание на последовательность обработки шаблонов HTTP-сервиса. В нашем примере использованы 2 шаблона:
При вызове метода http://10.211.55.3/base/hs/info/users/0b3dcecf-104e-11e6-9bdd-001c42ecfab6?action=disable сработает шаблон 1, т.к. параметры URL ему также соответствуют, а обрабатывается он первым. Чтобы этого не происходило, первый шаблон рекомендуется изменить на «/i/*» для однозначного соответствия URL шаблону. Вызывать первый метод соответственно также придется с новым URL:
|















