第 8 章 与正在运行的红帽构建 Kogito 微服务交互
在红帽构建的 Kogito 微服务运行后,您可以发送 REST API 请求以与您的应用程序交互,并根据您如何设置应用程序来执行微服务。
本例测试 /persons REST API 端点,该端点在 PersonDecisions.dmn 文件中自动生成决策(如果使用 DRL 规则单元,则为 PersonRules.drl 文件中的规则)。
在本例中,使用 REST 客户端、curl 工具或为应用程序配置的 Swagger UI (如 http://localhost:8080/q/swagger-ui 或 http://localhost:8080/swagger-ui.html)发送带有以下组件的 API 请求:
-
URL:
http://localhost:8080/persons HTTP 标头: 对于
POST请求:-
接受:application/json -
Content-type:application/json
-
-
HTTP 方法 :
GET、POST或DELETE
添加dult (JSON)的 POST 请求正文示例
{
"person": {
"name": "John Quark",
"age": 20
}
}
添加dult 的 curl 命令示例
curl -X POST http://localhost:8080/persons -H 'content-type: application/json' -H 'accept: application/json' -d '{"person": {"name":"John Quark", "age": 20}}'
响应示例(JSON)
{
"id": "3af806dd-8819-4734-a934-728f4c819682",
"person": {
"name": "John Quark",
"age": 20,
"adult": false
},
"isAdult": true
}
这个示例步骤使用 curl 命令方便。
流程
在独立于正在运行的应用程序的命令终端窗口中,导航到包含 Kogito 微服务红帽构建的项目,并使用以下任何 curl 命令与 JSON 请求交互:
在 Spring Boot 中,您可能需要修改应用程序如何公开 API 端点,以便这些示例请求正常工作。如需更多信息,请参阅您为本教程创建的 Spring Boot 项目中包含的 README 文件。
添加一个dult 个人:
请求示例
curl -X POST http://localhost:8080/persons -H 'content-type: application/json' -H 'accept: application/json' -d '{"person": {"name":"John Quark", "age": 20}}'响应示例
{"id":"3af806dd-8819-4734-a934-728f4c819682","person":{"name":"John Quark","age":20,"adult":false},"isAdult":true}添加一个不足的个人:
请求示例
curl -X POST http://localhost:8080/persons -H 'content-type: application/json' -H 'accept: application/json' -d '{"person": {"name":"Jenny Quark", "age": 15}}'响应示例
{"id":"8eef502b-012b-4628-acb7-73418a089c08","person":{"name":"Jenny Quark","age":15,"adult":false},"isAdult":false}使用返回的 UUID 完成评估:
请求示例
curl -X POST http://localhost:8080/persons/8eef502b-012b-4628-acb7-73418a089c08/ChildrenHandling/cdec4241-d676-47de-8c55-4ee4f9598bac -H 'content-type: application/json' -H 'accept: application/json' -d '{}'