如何使用Apigee Edge策略进行JSON模式验证
How do I do JSON schema validation using Apigee Edge policies?
假设您已经根据jsonschema.org定义了有效负载的模式,并且您希望在处理负载或将其传递给后端之前在代理中验证它,如何正确验证负载的内容?
Apigee没有内置JSON模式验证器,所以最好的办法是创建一个Javascript的东西,比如tv4或其他基于Javascript的验证器。然后,您需要创建一个Javascript callout,其中包含用于验证Apigee流变量的脚本,并包含库(例如,tv4.js)
<Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="JSO- Validate-JSON">
<DisplayName>JS-Validate-JSON</DisplayName>
<FaultRules/>
<Properties/>
<ResourceURL>jsc://validatejson.js</ResourceURL>
<IncludeURL>jsc://tv4.js</IncludeURL>
</Javascript>
tv4可在github上获得https://github.com/geraintluff/tv4
对Michael b进行一点扩展。response validatejson.js将是一个JavaScript策略,它将把模式加载到模式变量中,该模式变量将根据response.content进行验证:
var valid = tv4.validate(response.content, schema);
if(valid){
log.info("Schema is valid!" + valid);
} else {
context.setVariable("raiseFaultRuleSchemaValidation", "true");
context.setVariable("raiseFaultRuleSchemaValidationMessage", tv4.error)
}
}
相关文章:
- json模式v4如何根据枚举实现枚举
- 将json模式转换为角度树控制树模型
- JSON数据应该覆盖JSON模式吗?(通过jdorn/json编辑器使用模式和数据)
- 从JSON模式创建表单,如何添加关闭按钮
- 使用json模式的mocha全覆盖测试
- 从JSON模式自动生成JavaScript
- 如何从json模式创建表单
- json模式没有'不适用于空的响应体
- json模式获取js中给定属性的模式
- 如何对JSON文件运行javascript JSON模式
- 为什么NaN不是json模式基元类型
- json模式的构造函数
- 如何使用JSON模式验证表单
- 如果传递的是数组而不是对象,json模式将通过验证
- java类的JSON模式
- 将属性设置为“字符串”或在JSON模式中使用maxLength为空
- JSON模式+ JSON编辑器:具有可切换列的表
- 如何使用Apigee Edge策略进行JSON模式验证
- 我如何确保我的项目中的所有JSON模式都是有效的
- JSON模式解析器