25.2. 使用 Swagger 接口使用 Process Automation Manager 控制器 REST API 发送请求
Process Automation Manager 控制器 REST API 支持一个 Swagger web 界面,您可以使用它而不是独立 REST 客户端或 curl 工具与 Red Hat Process Automation Manager 中的 KIE 服务器模板、实例和相关 KIE 容器交互,而无需使用 Business Central 用户界面。
默认情况下,Process Automation Manager 控制器的 Swagger web 界面由 org.kie.workbench.swagger.disabled=false 系统属性启用。要禁用 Process Automation Manager 控制器的 Swagger Web 界面,请将这个系统属性设置为 true。
先决条件
- Process Automation Manager 控制器已安装并运行。
-
如果您安装了 Business Central,或者 Kie
-server用户角色访问无头流程自动化管理器控制器,则您拥有对流程自动化管理器控制器的rest-all用户角色访问权限。
流程
在 Web 浏览器中,导航到
http://SERVER:PORT/CONTROLLER/docs,如http://localhost:8080/business-central/docs,并使用 Process Automation Manager 控制器用户的用户名和密码登录,使用rest-all角色或无头流程 Automation Manager 控制器用户,使用kie-server角色登录。注意如果您使用内置在 Business Central 中的 Process Automation Manager 控制器,与流程 Automation Manager 控制器关联的 Swagger 页面被识别为 Business Central REST 服务的 " business Central API"。如果您在不使用 Business Central 的情况下使用无头处理 Automation Manager 控制器,与无头进程 Automation Manager 控制器关联的 Swagger 页面被识别为 "Controller API"。在这两种情况下,流程 Automation Manager 控制器 REST API 端点都是相同的。
-
在 Swagger 页面中,选择要发送请求的相关 API 端点,如 Controller :: KIE Server 模板和 KIE containers
[GET] /controller/management/servers,以便从 Process Automation Manager 控制器检索 KIE Server 模板。 - 点 Try it out,并提供您要过滤结果的任何可选参数(如果适用)。
- 在 Response 内容类型下拉菜单中,选择服务器响应所需的格式,如用于 JSON 格式的 application/json。
点 Execute 并查看 KIE Server 响应。
服务器响应示例(JSON):
{ "server-template": [ { "server-id": "default-kieserver", "server-name": "default-kieserver", "container-specs": [ { "container-id": "employeerostering_1.0.0-SNAPSHOT", "container-name": "employeerostering", "server-template-key": { "server-id": "default-kieserver", "server-name": "default-kieserver" }, "release-id": { "group-id": "employeerostering", "artifact-id": "employeerostering", "version": "1.0.0-SNAPSHOT" }, "configuration": { "RULE": { "org.kie.server.controller.api.model.spec.RuleConfig": { "pollInterval": null, "scannerStatus": "STOPPED" } }, "PROCESS": { "org.kie.server.controller.api.model.spec.ProcessConfig": { "runtimeStrategy": "SINGLETON", "kbase": "", "ksession": "", "mergeMode": "MERGE_COLLECTIONS" } } }, "status": "STARTED" }, { "container-id": "mortgage-process_1.0.0-SNAPSHOT", "container-name": "mortgage-process", "server-template-key": { "server-id": "default-kieserver", "server-name": "default-kieserver" }, "release-id": { "group-id": "mortgage-process", "artifact-id": "mortgage-process", "version": "1.0.0-SNAPSHOT" }, "configuration": { "RULE": { "org.kie.server.controller.api.model.spec.RuleConfig": { "pollInterval": null, "scannerStatus": "STOPPED" } }, "PROCESS": { "org.kie.server.controller.api.model.spec.ProcessConfig": { "runtimeStrategy": "PER_PROCESS_INSTANCE", "kbase": "", "ksession": "", "mergeMode": "MERGE_COLLECTIONS" } } }, "status": "STARTED" } ], "server-config": {}, "server-instances": [ { "server-instance-id": "default-kieserver-instance@localhost:8080", "server-name": "default-kieserver-instance@localhost:8080", "server-template-id": "default-kieserver", "server-url": "http://localhost:8080/kie-server/services/rest/server" } ], "capabilities": [ "RULE", "PROCESS", "PLANNING" ] } ] }-
在 Swagger 页面中,导航到 Controller :: KIE Server 模板和 KIE containers
[GET] /controller/management/servers/{serverTemplateId} 端点来发送另一个请求以创建新的 KIE Server 模板。根据您的用例调整任何请求详情。 点击 Try it out,并为请求输入以下组件:
-
serverTemplateId :输入新 KIE Server 模板的 ID,如
new-kieserver。 - body : 将参数内容类型设置为 所需的请求正文格式,如用于 JSON 格式的 application/json,并使用新 KIE Server 模板的配置添加请求正文:
{ "server-id": "new-kieserver", "server-name": "new-kieserver", "container-specs": [], "server-config": {}, "capabilities": [ "RULE", "PROCESS", "PLANNING" ] }-
serverTemplateId :输入新 KIE Server 模板的 ID,如
- 在 Response 内容类型下拉菜单中,选择服务器响应所需的格式,如用于 JSON 格式的 application/json。
点 Execute 并确认成功处理 Automation Manager 控制器响应。
如果您遇到请求错误,请检查返回的错误消息并相应地调整您的请求。