Проверить объект json на тип данных raml в mule 3.9

Есть ли в Mule 3.9.x механизм для проверки того, что объект JSON является допустимым экземпляром определенного типа данных RAML, без ручного создания и поддержки файлов схемы JSON и включения их в проект?

Маршрутизатор APIKit выполняет такую ​​проверку, но также требует, чтобы входящее сообщение содержало другую информацию REST, такую ​​как путь к ресурсу и метод http.

Я хотел бы использовать это для проверки входной полезной нагрузки конечных точек, отличных от http (JMS, amqp и т.д.), а также постусловия REST API (чтобы быстрее находить нарушения контрактов RAML при тестировании и более низких средах)


person Jesse0451    schedule 07.03.2019    source источник


Ответы (1)


Да, это возможно. Вы можете создать схему JSON, используя эту ссылку https://jsonschema.net/ и использовать ее в компоненте валидатора схемы JSON. В Mule Flow.

<json:validate-schema schemaLocation="myJsonSchema.json" doc:name="Validate JSON Schema"/>
person Snicker    schedule 08.03.2019
comment
Итак, мне нужно создавать и поддерживать файл json-схемы с каждым обновлением raml и включать его в проект mule? Мой вопрос в том, есть ли способ избежать этого. Маршрутизатор apikit справляется без этого, доступен ли он без полной проверки / маршрутизации запроса? - person Jesse0451; 11.03.2019
comment
Если вы хотите проверить некоторую часть json, которая остается неизменной, решение, которое я могу придумать, в первую очередь использует скрипт dataweave для возврата true, если поля не равны нулю, а затем делает выбор на основе этого. Также вам необходимо отключить проверку raml или удалить схему из raml. - person Snicker; 11.03.2019