Выполнение перехода объекта по бизнес-процессу: PUT¶
Методом PUT сервиса workflows
осуществляется выполнение переходов объекта по БП (в том числе последовательных).
Запрос осуществляется по пути <URL сервера>/rest/<название сервиса>/<имя класса>/<id объекта>
.
Имя класса указывается с неймспейсом.
В теле запроса передается один из вариантов:
- объект с атрибутами - именами БП, которые содержат список из переходов по этим бизнес-процессам.
- список из строк формата
<имя бизнес-процесса>.<название перехода>
имена бизнес-процессов указываются с неймспейсом.
Пример запроса:
PUT
https://localhost:8888/rest/workflows/workflowBase@develop-and-test/1
body: {
'simpleWorkflow@develop-and-test': [
'startCheck',
'accept'
]
}
что равносильно:
PUT
https://localhost:8888/rest/workflows/workflowBase@develop-and-test/1
body: [
'simpleWorkflow@develop-and-test.startCheck',
'simpleWorkflow@develop-and-test.accept'
]
Переходы выполняются последовательно. Для каждого перехода будет предпринята попытка выполнения, даже если в одном из них произошла ошибка.
В ответ будет возвращен список из ошибок по каждому переходу:
[ { code: 'workflow.ti',
params: { workflow: 'Simple WF', trans: 'Start checking' },
message:
'Невозможно выполнение перехода \'Start checking\' рабочего процесса \'Simple WF\'.' },
{ code: 'workflow.ti',
params: { workflow: 'Simple WF', trans: 'Accept' },
message:
'Невозможно выполнение перехода \'Accept\' рабочего процесса \'Simple WF\'.' } ]
или пустой список.
Примеры PUT
запросов к workflows
в dnt:
test/modules/rest/workflows.spec.js
/checking workflows service/# move the object through workflow: PUT, list body
/checking workflows service/# move the object through workflow: PUT, object body