-
Notifications
You must be signed in to change notification settings - Fork 1
Динамический метод
Динамический метод - это часть документооборота системы.
Динамический метод, в отличие от статического, можно добавить в систему через инструменты администрирования без внесения изменений в её программный код.
-
Напоминаем что возможность вызова метода зависит от состояния объекта. Иными словами для каждого состояния объекта существует свой набор методов.
-
Вызов метода в ином состоянии объекта приведет к ошибке.
Как получить список доступных действий, состояний и методов объекта смотрите на странице конечные точки документооборота.
Динамический метод можно вызвать несколькими способами:
POST /api/v1/method/execute
Выполняет динамический метод объекта.
Параметры запроса:
Имя | Тип | Значение | Описание |
---|---|---|---|
object | UUID | Обязательный. Идентификатор объекта. | |
method | UUID |
Вариативный. Идентификатор метода имеет приоритет над code . |
|
code | STRING | Вариативный. Код действия. Можно указать вместо идентификатора метода. | |
params | JSON | Необязательный. Параметры HTML формы в формате JSON. |
- Обратите внимание, что в
code
передается не код метода, а код действия.
POST /api/v1/object/method/execute
Выполняет динамический метод объекта.
Параметры запроса:
Имя | Тип | Значение | Описание |
---|---|---|---|
id | UUID | Обязательный. Идентификатор объекта. | |
method | UUID |
Вариативный. Идентификатор метода имеет приоритет над code . |
|
code | STRING | Вариативный. Код действия. Можно указать вместо идентификатора метода. | |
params | JSON | Необязательный. Параметры HTML формы в формате JSON. |
- Обратите внимание, что в
code
передается не код метода, а код действия.
Более классический для архитектурного стиля REST.
POST /api/v1/<class>/<action>
Где:
-
<class>
- это код класса объекта; -
<action>
- это код действия.
Выполняет динамический метод объекта.
Параметры запроса:
Имя | Тип | Значение | Описание |
---|---|---|---|
id | UUID | Обязательный. Идентификатор объекта. | |
params | JSON | Необязательный. Параметры HTML формы в формате JSON. |
- Формат ответа не регламентируемый и зависит от конкретной реализации того или иного метода.
Пример:
Запрос:
POST /api/v1/method/execute HTTP/1.1
Host: localhost:8080
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
{"object": "7bec5a74-0c6b-4315-8343-18832ec1e079", "code": "disable"}
Запрос:
POST /api/v1/object/method/execute HTTP/1.1
Host: localhost:8080
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
{"id": "7bec5a74-0c6b-4315-8343-18832ec1e079", "code": "disable"}
Запрос:
POST /api/v1/calendar/disable HTTP/1.1
Host: localhost:8080
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
{"id": "7bec5a74-0c6b-4315-8343-18832ec1e079"}