【问题标题】:How do I do JSON schema validation using Apigee Edge policies?如何使用 Apigee Edge 政策进行 JSON 架构验证?
【发布时间】:2023-04-09 06:11:01
【问题描述】:

假设您有根据 json-schema.org 定义的有效负载的架构,并且您想在处理负载或将其传递到后端之前在代理中对其进行验证,您如何正确验证内容有效载荷?

【问题讨论】:

    标签: javascript json apigee jsonschema


    【解决方案1】:

    Apigee 没有内置 JSON 模式验证器,因此最好的办法是创建一个类似 tv4 的 Javascript 或其他基于 javascript 的验证器。然后,您需要创建一个 Javascript 标注,其中包含您的脚本来验证 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

    【讨论】:

      【解决方案2】:

      稍微扩展一下 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)
        }
      }
      

      【讨论】:

        猜你喜欢
        • 2014-01-30
        • 2014-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-11
        • 2021-07-10
        • 2019-07-28
        • 1970-01-01
        相关资源
        最近更新 更多