问题描述
我是流口水的新手。我创建了以下对象:
package com.myspace.applicant;
public class Applicant implements java.io.Serializable {
static final long serialVersionUID = 1L;
private java.lang.Integer age;
private java.lang.Boolean approved;
private java.lang.Double money;
private java.lang.String name;
public Applicant() {
}
public java.lang.Integer getAge() {
return this.age;
}
public void setAge(java.lang.Integer age) {
this.age = age;
}
public java.lang.Boolean getApproved() {
return this.approved;
}
public void setApproved(java.lang.Boolean approved) {
this.approved = approved;
}
public java.lang.Double getMoney() {
return this.money;
}
public void setMoney(java.lang.Double money) {
this.money = money;
}
public java.lang.String getName() {
return this.name;
}
public void setName(java.lang.String name) {
this.name = name;
}
public Applicant(java.lang.Integer age,java.lang.Boolean approved,java.lang.Double money,java.lang.String name) {
this.age = age;
this.approved = approved;
this.money = money;
this.name = name;
}
}
package com.myspace.applicant;
import com.myspace.applicant.Applicant;
no-loop
rule "approve applicants"
when
$a: Applicant(age > 30,money > 1000,approved == false)
then
modify($a) {
setApproved(true);
}
end
在 Postman 中,我尝试使用以下正文调用规则:
{
"lookup" : null,"commands" : [ {
"insert" : {
"objects" : {
"Applicant": {
"age": 28,"approved": false,"money": 10000,"name": "boehlen"
}
},"disconnected" : false,"out-identifier": "Applicant","return-object" : true,"entry-point" : "DEFAULT"
}
},{
"fire-all-rules" : {}
} ]
}
我得到了以下答案:
{
"type" : "SUCCESS","msg" : "Container Applicant_1.0.0-SNAPSHOT successfully called.","result" : {
"execution-results" : {
"results" : [ {
"value" : null,"key" : "Applicant"
} ],"facts" : [ {
"value" : null,"key" : "Applicant"
} ]
}
}
}
问题是,我的值是 null 而不是我期望作为响应的对象。 server.log 是空的,我看不出有什么问题。请你帮帮我。
非常感谢。
解决方法
您的规则仅在申请人年龄大于 30 岁时触发。您的输入值包括 28 岁。
,我能够解决问题。这是一个错字。我不得不写“结果”而不是“结果”。谢谢了