在 mule 中手动解析 RAML 文件的简单方法是什么?

what is the easy way to manually parse the RAML file in mule?

在 mule 应用程序中,我正在尝试解析 RAML 文件。我知道 APIKit 正在做同样的事情,因为它在解析 RAML 文件后创建流。但是,如果我想在流程中间手动解析它怎么办?

我已经看到可用的 raml 解析器,但没有找到那些 java 脚本库或 java 库的正确用法,了解如何在 mule 应用程序中使用它们。

Mule 中没有任何东西可以在运行时处理 RAML 文件。

但是您可以创建任何使用 RAML Java 库的 Java 组件,并在您的流程中从 Mule 调用它。

Mule4 SDK 是通过 Java 扩展 mule 的一种方式。

有关 Mule SDK 的更多信息可在此处找到https://mule4-docs.mulesoft.com/mule-sdk/v/1.1/

您也可以调用 Java classes 但它们需要与 Mule API 分离,并且您需要提取任何变量、属性或负载并显式传递值给你的class。例如,将静态字符串和流变量作为参数传递给 Java 构造函数:

<java:new class="com.foo.AppleEater" constructor="MyClass(String, Apple)">
  <java:args>#[{name: 'some string arg', apple: vars.apple}]</java:args>
</java:new>

在您的 class 中,您可以使用 RAML Java 库,并将文件或路径传递给 RAML 文件以从 class 路径加载。

更多关于 Java 与 Mule 4 集成的信息:https://docs.mulesoft.com/mule-runtime/4.1/intro-java-integration

是的,您可以使用 java class 或 groovy 组件实现 java.
在您的 java 应用程序中解析您的 RAML 有 java 可用的解析器,例如 RamlModelBuilder,您可以使用它来解析您的应用程序 RAML,例如验证您的 RAML 文件、获取 API 名称、获取所有资源名称、方法名称、范围、安全模式及其名称、查询参数、headers 等等...
只需检查示例如何在此处使用它。您可以简单地创建一个 java class 并解析您的 RAML

https://github.com/anirban37/Anirban-Custom-Oauth-Policy/blob/master/Anirban-RAML-Oauth-V3/OauthPolicies.xml#L594

ramlModelResult = new RamlModelBuilder().buildApi(ac.getRaml())

将为您提供 java class

中应用程序的当前 RAML 文件访问权限