json - 一次验证 JSON 请求,而不是在 WSO2 ESB 中一一验证
问题描述
我的要求是一次验证 JSON iNPUT 请求,而不是一一验证。
例如:说 json 字段 {
“名字”:“abcd”,
“开斋节”:“566”,
“邮编”:“698”
}
假设我通过请求时所有字段都错误,它应该只抛出名字元素,我需要在 wso2 esb 中一次抛出所有三个元素错误,提前致谢。
解决方案
您可以为您的消息创建适当的 XSD 架构并使用验证中介,或者您可以为错误消息创建属性并连接您需要的所有错误消息,例如
<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>
推荐阅读
- c# - WCF 主机将自定义 HTTP 标头添加到响应
- javascript - 捕获页面评估 Pyppeteer 中变量中的响应
- reactjs - 如何在 React/Redux 项目中显示关系数据?
- mysql - Blob 列需要移动到不同的表以提高速度吗?
- html - 两个 div 与 flex 并排
- excel - Visual Basic for Applications 中的“For 循环”错误
- oracle - Oracle Reports:当我在表单中调用报表时,图像没有出现
- python - 仅冻结 torch.nn.Embedding 对象的某些行
- java - 正则表达式 - 用开始和结束引号替换带引号的字符串
- c++ - lua_isstring 迭代表中表的问题