在mule应用程序中,我正在尝试解析RAML文件。我知道Apikit在解析RAML文件后所做的与其创建的流相同。但是,如果我想手动将其解析怎么办?
我已经看到了RAML解析器可用,但没有找到有关如何在Mule应用中使用它们的JavaScript库或Java库的适当用法。
只需在此处检查示例如何使用即可。您可以简单地创建一个Java类并进行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类中应用程序的当前RAML文件访问
在运行时与RAML文件一起工作。
但是您可以创建使用RAML Java库的任何Java组件,并从流量中的m子调用。
m子4 SDK是通过Java扩展M子的一种方法。
有关mule SDK的更多信息,请参见此处https://mule4-docs.mulesoft.com/mule-sdk/v/1.1/
您还可以调用Java类,但是需要将它们与m子API分离,并且需要提取任何变量,属性或有效载荷,并明确将值传递给您的类。例如,将静态字符串和流量作为参数传递给Java构造函数:
<java:new class="com.foo.AppleEater" constructor="MyClass(String, Apple)">
<java:args>#[{name: 'some string arg', apple: vars.apple}]</java:args>
</java:new>
在您的班级中,您可以使用RAML Java库,然后将文件或路径传递给RAML文件以从类Pather加载。
更多有关Java集成与m子4的更多信息:https://docs.mulesoft.com/mule-runtime/4.1/intro-java-integration