Mule 3 сообщение об исключительной ситуации в валидаторе схемы json - PullRequest
0 голосов
/ 28 октября 2019

Работа с компонентом Mule Validate JSON Schema сообщение об исключении, когда JSON не проходит проверку. В настоящее время, когда выдается JsonSchemaValidationException, одним из доступных элементов является сообщение с подробной информацией о том, почему проверка не удалась (см. Сообщение ниже). Это сообщение создано ProcessingReport report.toString(). Моя проблема в том, что мне нужно извлечь определенные элементы, так как не все нужно из сообщения. Точнее, error, schema и instance нужны только. Можно использовать регулярное выражение / подстроку и извлекать данные подобным образом, но я боюсь, что они могут быть слишком хрупкими, поскольку успешное регулярное выражение / подстрока будет зависеть от структуры / модели сообщения. Лучшим решением было бы реализовать пользовательское сообщение об исключении (составленное из ProcessingReport, как если бы оно использовалось как report.get("error") или что-то подобное). Есть предложения?

Json content is not compliant with schema 
com.github.fge.jsonschema.core.report.ListProcessingReport: failure 
--- BEGIN MESSAGES --- 
error: object has missing required properties (["issuedBy"])     
level: "error"     
schema: {"loadingURI":<application-location>,
          "pointer":"/properties/purchaseOrder/properties/lineItems/items"}     
instance: {"pointer":"/purchaseOrder/lineItems/0"}     
domain: "validation"     
keyword: "required"     
required: ["expectedDeliveryDate","isbn","issuedBy","issuedDate","title","totalQuantity","transactionType"]     
missing: ["issuedBy"] 
---  END MESSAGES  ---
...