Что такое простой способ, чтобы вручную разобрать файл RAML в муле?
В приложении мул я пытаюсь разобрать файл RAML. Я знал, что APIKit делает то же самое, поскольку он создает потоки после анализа файла RAML. Но все же, что если я захочу разобрать его в середине потока вручную?
Я видел доступные парсеры raml, но не нашел правильного использования этих библиотек javascript или библиотек java о том, как использовать их в приложении mule.
2 ответа
Да, вы можете анализировать ваш RAML в Java-приложении, используя класс Java или Groovy-компонент, реализующий Java.
Доступен java-анализатор, такой как RamlModelBuilder, который вы можете использовать для анализа RAML вашего приложения, например, для проверки вашего RAML-файла, получения имени API, получения имени всех ресурсов, имени метода, областей действия, схемы безопасности и их имен, параметров запроса, заголовков и многих других...
Просто посмотрите пример, как это используется здесь. Вы можете просто создать класс Java и проанализировать ваш RAML
ramlModelResult = new RamlModelBuilder().buildApi(ac.getRaml())
даст вам текущий доступ к файлу RAML приложения в классе Java
Нет ничего в Mule для работы с файлом RAML во время выполнения.
Но вы можете создать любой компонент Java, который использует библиотеки Java RAML, и вызывать его из Mule в своих потоках.
Mule4 SDK - это один из способов расширения mule через Java.
Дополнительную информацию о Mule SDK можно найти здесь https://mule4-docs.mulesoft.com/mule-sdk/v/1.1/
Вы также можете вызывать Java-классы, но они должны быть отделены от API Mule, и вам нужно извлечь любые переменные, свойства или полезную нагрузку и явно передать значения вашему классу. Например, передача статической строки и потока var в качестве аргументов в конструктор Java:
<java:new class="com.foo.AppleEater" constructor="MyClass(String, Apple)">
<java:args>#[{name: 'some string arg', apple: vars.apple}]</java:args>
</java:new>
В вашем классе вы можете использовать Java-библиотеки RAML и передать файл или путь в RAML-файл для загрузки из classpath.
Подробнее об интеграции Java с Mule 4 здесь: https://docs.mulesoft.com/mule-runtime/4.1/intro-java-integration