#javascript #json #apigee #jsonschema
#javascript #json #apigee #jsonschema
Вопрос:
Предположим, у вас есть схема для допустимой полезной нагрузки, определенная в соответствии с json-schema.org и вы хотели бы проверить это в прокси-сервере перед обработкой полезной нагрузки или передачей ее на серверную часть, как вы можете правильно проверить содержимое полезной нагрузки?
Ответ №1:
В Apigee нет встроенного средства проверки схемы JSON, поэтому лучше всего создать на Javascript что-то вроде tv4 или другого средства проверки на основе javascript. Затем вам нужно создать Javascript-выноску, которая содержит ваш скрипт для проверки переменной Apigee flow и включает вашу библиотеку (например, 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:
Чтобы немного расширить информацию об ответе Майкла Б. validatejson.js будет ли политика JavaScript, которая загрузит схему в переменную schema, которая будет проверена на соответствие 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)
}
}