Flowable REST API

集成了 BPM 扩展组件的 Jmix 应用程序可以使用 Flowable 的 REST API:

  • BPMN REST API 端点,支持处理流程定义、流程实例的运行时和历史、用户任务以及其他(参考 Flowable 文档)。

  • DMN REST API 端点,支持管理决策表(参考 Flowable 文档)。

Gradle 依赖

如需使用 API,需要添加一些特定的依赖:

build.gradle
dependencies {
    implementation 'io.jmix.dynattr:jmix-dynattr-starter'
    implementation 'io.jmix.dynattr:jmix-dynattr-flowui-starter'

    //...
    implementation 'org.flowable:flowable-spring-boot-starter-process-rest'
    implementation 'org.flowable:flowable-spring-boot-starter-dmn-rest'
}

根路径配置

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 配置时,DMN 的 URL 就变成: 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

安全配置

添加依赖后,在 Jmix 项目中为 Flowable REST 端点配置Spring Security。自定义端点 部分提供了以下场景的示例代码:

  • 开放的端点(无需认证)

  • HTTP 基本认证

  • 基于 Token 的认证