首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在骡子中手动解析RAML文件的简单方法是什么?

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

Stack Overflow用户
提问于 2018-12-17 07:18:22
回答 2查看 929关注 0票数 0

在mule应用程序中,我试图解析RAML文件。我知道APIKit在解析RAML文件后创建流时也是这样做的。但是,如果我想要在流的中间手动解析它呢?

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-18 15:38:48

是的,您可以在java应用程序中使用实现java的java类或groovy组件来解析RAML。

有像RamlModelBuilder这样的java解析器,您可以使用它来解析应用程序RAML,比如验证RAML文件、获取API名称、获取所有资源名称、方法名称、作用域、安全模式及其名称、查询参数、标头等等。

只需检查示例如何在这里使用它。您可以简单地创建一个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文件访问权限。

票数 1
EN

Stack Overflow用户

发布于 2018-12-17 23:03:23

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

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

Java是通过Mule4扩展The的一种方法。

有关Mule SDK的更多信息,请参见https://mule4-docs.mulesoft.com/mule-sdk/v/1.1/

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

代码语言:javascript
复制
<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文件,以便从类路径加载。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53810509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档