HTTP-сервисы

Одним из способов обмена информацией через интернет являются http-сервисы. Начиная с версии 1С 8.3.5, http-сервис реализован внутри конфигуратора.

В платформе 1С есть возможность создавать произвольные веб-сервисы — HTTP-сервисы и WEB-сервисы.

HTTP-сервисы основаны на архитектуре REST. Они получили широкое распространение благодаря простоте программирования клиентской части, небольшому объёму передаваемых данных и низкой вычислительной нагрузке. Эти сервисы ориентированы на ресурсы (нацелены на получение данных) и не имеют механизма проверки типов входящих и исходящих данных. Для обмена сообщениями чаще всего используется формат JSON.

WEB-сервисы же работают по протоколу SOAP. Этот протокол в основном служит для обмена произвольными сообщениями в формате XML, а также для вызова процедур. В нём предусмотрена возможность проверки входящих и исходящих данных и их типов. В отличие от HTTP-сервисов, WEB-сервисы являются сервис-ориентированной технологией, позволяющей удалённо вызывать описанные процедуры.

В этой статье мы рассмотрим HTTP-сервис. Для этого в платформе 1С существует объект конфигурации HTTP-сервис.

Любые данные, которые можно получить, обратившись к HTTP-сервису, ресурсами называются. У ресурса есть уникальный идентификатор — URL, обращение к которому приводит к выполнению определённого действия. Такие обращения выполняются через запросы, и в протоколе HTTP они называются методами.

Для обращения к HTTP-сервису формируется URL. Его общий вид следующий:

http://<АдресСервера>/<ИмяПубликации>/hs/<КорневойURL>/<ОтносительныйURL>
Теперь подробно рассмотрим его состав.

<АдресСервера> — адрес сервера, на котором расположена база. (fincloud1234.uz)

<ИмяПубликации> — имя базы 1С, указанное при публикации на веб-сервере.

hs — признак, указывающий на обращение к HTTP-сервису.

<КорневойURL> — имя ресурса, обозначающее группу ресурсов, связанных общим смыслом. Оно задаётся значением свойства HTTP-сервис объекта КорневойURL.

ОтносительныйURL = параметр сказать нельзя. Это часть URL, идущая после КорневойURL. В ней может быть как параметр, так и имя ресурса.

В шаблоне указываются сегменты — то есть части URL, разделённые символом «/».

Сегменты делятся на два типа:

  • Сегменты без параметров — они должны присутствовать в URL именно в том виде, в котором записаны (например, сегмент product).
  • Сегменты с параметрами — указываются в фигурных скобках { и } (например, сегмент {Код}). Такие сегменты представляют собой переменную с определённым именем, к которой можно обратиться через встроенный язык.

В рамках одного шаблона имена параметрических сегментов не должны повторяться.

Имя параметрического сегмента может состоять только из следующих символов:

  • букв;
  • цифр;
  • символа _.

* может находиться только в конце шаблона. Вместо него может быть любое количество сегментов, в том числе их может не быть вовсе.

Например:

/report/{Код}
/report/{Код}/*
Для шаблонов необходимо определить, какие HTTP-методы можно использовать при работе с ресурсом, соответствующим данному шаблону.

Для этого создаётся необходимое количество объектов Метод, подчинённых объекту Шаблон URL.

Эти методы рекомендуется называть на английском языке именем обслуживаемого HTTP-метода, например:

  • GET
  • POST
  • PUT
  • DELETE
  • PATCH

Для методов необходимо создать обработчик (функцию обработки), который будет обрабатывать поступивший HTTP-запрос.

Обработчик — это функция, которая принимает в качестве параметра сам запрос. Запрос передаётся в виде объекта типа HTTPСервисЗапрос.

В результате функция возвращает ответ. Ответ представляется объектом типа HTTPСервисОтвет.

Бош сахифа
Қидирув
Инфо
Меню