我的要求是一次而不是一个个地验证JSON iNPUT请求。
ex:说json字段 {
“名字”:“ abcd”,
“ eid”:“ 566”,
“ zip”:“ 698”
}
当我通过请求时,假设我所有的字段都是错误的,它应该只抛出firstname元素,我需要一次在wso2 esb中抛出所有三个元素错误,在此先感谢。
答案 0 :(得分:0)
“ ...我的所有字段都错了...”是什么意思?您是否正在验证字段的值?或消息的结构不正确,即“名字”不应出现在哪里? 您能提供样品顺序吗?
答案 1 :(得分:0)
您可以为消息创建适当的XSD架构并使用Validate中介程序,也可以为错误消息创建属性并合并所需的所有错误消息,例如
<property name="error" expression=""/>
<filter source="json-eval($.firstname)" regex="...your condition on first name">
<then>
<property name="error" value="firstname is not valid!"/>
</then>
<else>
</else>
</filter>
<property name="error" expression=""/>
<filter source="json-eval($.eid)" regex="...your condition on eid">
<then>
<property name="error" expression="fn:concat(get-property('error'),' eid is not valid!')"/>
</then>
<else>
</else>
</filter>
<filter source="json-eval($.zip)" regex="...your condition on eid">
<then>
<property name="error" expression="fn:concat(get-property('error'),' zip is not valid!')"/>
</then>
<else>
</else>
</filter>
<filter source="get-property('error')" regex="^$">
<then>
...sending error...
</then>
<else>
</else>
</filter>