Перейти к основному содержимому

Элемент проекта вида «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/

    Адрес HTTP-сервера и путь публикации приложения на сервере

  • api: api/

    Признак того, что данный URL представляет запрос к публичному api приложения

  • КорневойURLСервиса: myservice/

    Относительный URL сервиса. Должен быть уникальным среди всех сервисов в проекте. Определяет конкретный сервис, который должен обработать запрос

  • ПутьКРесурсу: myMethod

    Путь к ресурсу в пределах сервиса. Сопоставляется по определенным правилам с шаблонами URL сервиса, и в итоге выбирается один шаблон, который отвечает за обработку запроса

  • ПараметрыЗапроса: ?param1=value1

    Стандартный способ передачи параметров запроса через URL. Параметры запроса передаются через URL только для GET- и HEAD-запросов. Для всех остальных методов параметры передаются в теле запроса

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

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

Права

Элемент проекта вида HttpСервис обладает правом Вызов (подробнее).

Событие ВычислитьРазрешенияДоступа следует обрабатывать в модуле Http-сервиса.

См. также