Элемент проекта вида «HttpСервис»

При реализации HTTP-сервиса вам нужно определить следующие элементы:

  1. КорневойUrl — базовая часть URL, по которой будет выполняться обращение к сервису.
  2. ШаблоныUrl — состав предоставляемой функциональности и структура ресурсов, на которые эта функциональность будет отображаться (шаблоны).
  3. Методы — действия, которые можно будет выполнить при обращении к тому или иному ресурсу.
  4. Обработчик — для каждого выбранного действия вы пишете на встроенном языке метод, который и реализует необходимую функциональность. Методы находятся в модуле HTTP-сервиса. Например, HTTP-сервис может выглядеть следующим образом:
ВидЭлемента: HttpСервис
Id: a565661f-f458-465b-8f71-1f90cd490890
ОбластьВидимости: ВПодсистеме
Имя: СделкиHttpСервис
КорневойUrl: /opportunities
ШаблоныUrl:
    -
        Имя: ПолучитьСделки
        Шаблон: /
        Методы:
            -
                Метод: GET
                Обработчик: ПолучитьСделки
    -
        Имя: ПолучитьСделку
        Шаблон: /{opportunity}
        Методы:
            -
                Метод: GET
                Обработчик: ПолучитьСделку
КонтрольДоступа:
    Разрешения:
        Вызов: РазрешеноАутентифицированным
        ПоУмолчанию: РазрешеноАутентифицированным

Корректный URL запроса к HTTP-сервису должен иметь следующую структуру:

{АдресПубликацииПриложения}/api/{КорневойURLСервиса}/{ПутьКРесурсу}?{ПараметрыЗапроса}

Например:

http://myserver:9090/applications/tasks/api/myservice/myMethod?param1=value1

Рассмотрите части запроса по порядку:

http или https
Используемый протокол
http://myserver:9090/applications/tasks/api/myservice/myMethod?param1=value1
АдресПубликацииПриложения
Адрес HTTP-сервера и путь публикации приложения на сервере
http://myserver:9090/applications/tasks/api/myservice/myMethod?param1=value1
api
Признак того, что данный URL представляет запрос к публичному api приложения
http://myserver:9090/applications/tasks/api/myservice/myMethod?param1=value1
КорневойURLСервиса
Относительный URL сервиса. Должен быть уникальным среди всех сервисов в проекте. Определяет конкретный сервис, который должен обработать запрос
http://myserver:9090/applications/tasks/api/myservice/myMethod?param1=value1
ПутьКРесурсу
Путь к ресурсу в пределах сервиса. Сопоставляется по определенным правилам с шаблонами URL сервиса, и в итоге выбирается один шаблон, который отвечает за обработку запроса
http://myserver:9090/applications/tasks/api/myservice/myMethod?param1=value1
ПараметрыЗапроса
Стандартный способ передачи параметров запроса через URL. Параметры запроса передаются через URL только для GET- и HEAD-запросов. Для всех остальных методов параметры передаются в теле запроса
http://myserver:9090/applications/tasks/api/myservice/myMethod?param1=value1

Кроме URL на маршрутизацию запроса также влияет HTTP-метод запроса. Например, для одного и того же URL запроса может быть несколько обработчиков для разных методов.

ШаблоныUrl:
    -
        Имя: ГрафикиРаботы
        Шаблон: /
        Методы: 
            -
                Метод: PUT
                Обработчик: ОбновитьГрафикиРаботы
    -
        Имя: ГрафикРаботы
        Шаблон: /{ID}
        Методы: 
            -
                Метод: PUT
                Обработчик: ОбновитьГрафикРаботы
            -
                Метод: GET
                Обработчик: ПолучитьГрафикРаботы
            -
                Метод: DELETE
                Обработчик: УдалитьГрафикРаботы

Вид HttpСервис предоставляет следующую функциональность и логику работы:

Порождаемые типы встроенного языка
HTTP-сервис, добавленный в проект, порождает во встроенном языке один тип, в модуле которого вы можете разместить все обработчики методов HTTP-сервиса
Выбор сервиса
Относительный URL сервиса может состоять из нескольких сегментов. Это может быть полезно в сценариях, когда требуется одновременная работа с разными версиями сервиса
Выбор шаблона URL
Шаблоны URL служат двум целям: они выбирают обработчик для заданного пути к ресурсу и предоставляют удобный способ работы с параметрами, включенными в путь к ресурсу
Выбор обработчика
Вы можете использовать обработчик для конкретного метода или обработчик, назначенный по умолчанию
Параметры запроса
Существует три способа передачи параметров в HTTP-запрос
Обработка запроса
Для обработки запросов необходимо для каждого метода в описании HTTP-сервиса создать в модуле HTTP-сервиса метод-обработчик с именем, совпадающим с именем обработчика, заданным в реквизитах метода
Аутентификация внешних программ
Если пользователь представляет собой не человека, а внешнюю информационную систему, то для аутентификации используются токены доступа
Права
Элемент проекта вида HttpСервис обладает правом Вызов (подробнее)
Событие ВычислитьРазрешенияДоступа следует обрабатывать в модуле Http-сервиса.
Все свойства HTTP-сервиса
Здесь описано назначение всех свойств HTTP-сервиса, которые вы можете менять в проекте