gpt4 book ai didi

java - Drools drl 文件和从 API 调用调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:31 25 4
gpt4 key购买 nike

我是 Drools 的新手,正在努力了解这一切......

我有一个在 Workbench 6.3.0.Final 中创建的规则:

package demo.dummyapp;

import java.lang.Boolean;

rule "RuleThree"
dialect "mvel"
when
SMS(sendMessage == true )
then
System.out.println( "This message is being sent" );
end

我使用 REST API 从 Postman 调用以下内容:

POST: http://myserver/kie-server-6.3.0.Final-ee7/services/rest/server/containers/instances/dummyapp

{
"lookup": "ksession1",
"commands": [{
"insert": {
"return-object": true,
"object": {
"demo.dummpyapp.SMS": {
"sendMessage": true
}
}
}
}, {
"fire-all-rules": "RuleThree"
}]
}

服务器返回响应成功:

{
"type": "SUCCESS",
"msg": "Container dummyapp successfully called.",
"result": "{\n \"results\" : [ {\n \"key\" : \"RuleThree\",\n \"value\" : 0\n } ],\n \"facts\" : [ ]\n}"
}

但是我没有在 server.log 中看到我的 println 消息...所以我怀疑规则是否按预期触发?如有任何建议,我将不胜感激。

最佳答案

POST 正文的 JSON 中存在拼写错误。对象是

demo.dummyapp.SMS

不是

demo.dummpyapp.SMS

容器调用成功但没有规则匹配。因此,JSON 响应中的 value 键是 0

尝试发出这个 POST 请求:

POST: http://myserver/kie-server-6.3.0.Final-ee7/services/rest/server/containers/instances/dummyapp

{
"lookup": "ksession1",
"commands": [{
"insert": {
"return-object": true,
"object": {
"demo.dummyapp.SMS": {
"sendMessage": true
}
}
}
}, {
"fire-all-rules": "RuleThree"
}]
}

关于java - Drools drl 文件和从 API 调用调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34591012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com