Flowable REST API

Приложение Jmix с дополнением BPM может использовать REST API Flowable:

  • BPMN REST API предоставляет эндпоинты для определений процессов, текущих и исторических экземпляров, пользовательских задач и др. (см. подробнее в документации Flowable).

  • DMN REST API предоставляет эндпоинты для управления таблицами решений (см. подробнее в документации Flowable).

Зависимости Gradle

Чтобы подключить API, добавьте соответствующие зависимости в build.gradle:

build.gradle
dependencies {
    //...
    implementation 'org.flowable:flowable-spring-boot-starter-process-rest'
    implementation 'org.flowable:flowable-spring-boot-starter-dmn-rest'
}

Настройка базового пути

Flowable REST API будут доступны по отдельным базовым путям. Значения по умолчанию:

Путь Пример URL

BPMN REST API

/process-api

http://localhost:8080/process-api/repository/process-definitions

DMN REST API

/dmn-api

http://localhost:8080/dmn-api/dmn-repository/deployments

Если установлен контекстный путь, его нужно добавить к URL. Например, если установлено свойство server.servlet.context-path=/app, то URL для DMN принимает вид http://localhost:8080/app/rest/bpm/dmn/dmn-repository/deployments

Чтобы изменить пути по умолчанию, задайте желаемые значения в application.properties:

application.properties
flowable.process.servlet.path=/rest/bpm/process
flowable.dmn.servlet.path=/rest/bpm/dmn

Конфигурация безопасности

После добавления зависимостей настройте Spring Security конфигурацию для эндпоинтов Flowable в проекте Jmix. Раздел Кастомные эндпойнты содержит примеры кода конфигураций для следующих сценариев:

  • Публичные эндпоинты

  • HTTP Basic аутентификация

  • Аутентификация с помощью токенов