问题描述
如果我添加决策 ID 和决策名称来发布对 /server/containers/{containerId}/dmn
的请求,我会收到错误 "Unable to locate DMN Decision to evaluate"
。当这些参数设置为 null 时,它适用于所有返回响应的决策。我只想过滤对主要决策规则的响应。有没有办法只针对单个决策 ID 获得响应
"model-namespace": "https://kiegroup.org/dmn/_E565A249-313F-4A19-AF60-D25F1A7AFCEB","model-name": "Test Rules","decision-id": "_DFF31A1C-BC85-4B48-BB23-EEB0E55FD27D","decision-name": "Test All Rules",
解决方法
当您通过 REST API(例如 Kie-Server 以及 Kogito)评估 DMN 模型时,通常会返回完整的相关 DMN 上下文,其中包含原始输入以及结果决策节点。
通常,消费客户端应用程序通过 dmnresults 对象或直接在返回的上下文中过滤结果。
如果您使用 Kie Server Client (Java API),则按照 this document 中的说明为您提供开箱即用的服务。
或者,您可以使用新 REST API 的“下一代”决策服务强制功能,在这种情况下,您需要根据自己的要求定义决策服务。
使用 Kogito 时应参考 this document。
使用 Kie-Server、Drools、Kie v7 时,请参考 this document。
无论哪种情况,请参考 /{decisionServiceName}
的示例。