【问题标题】:Mule APIKit and multiple RAMLsMule APIKit 和多个 RAML
【发布时间】:2016-02-18 04:50:07
【问题描述】:

可以在一个 APIKit Mule 项目中使用多个 RAML 文件吗?

假设我有两个函数 /api/func1 和 /api/func2。 每个函数都在其自己的 raml 中定义 - func1.raml 和 func2.raml。 我已经使用 APIKit 向导在 Anypoint 中为第一个函数生成了一个流程。它工作正常。

现在,我正在尝试为第二个函数生成流。流生成时没有错误。但是,它只是行不通。我已经尝试修复 URL、绑定、配置,但没有任何帮助。 请注意,我不想将两个 RAML 绑定到一个文件中。原因是单独开发/维护功能更容易。

我能看到的唯一解决方案是定义两个单独的项目。但这并不是我真正想做的。

所以,寻找有关如何处理这种情况的建议。

谢谢,

【问题讨论】:

    标签: mule


    【解决方案1】:

    好吧,实际上,这是可能的。 您需要做的是使生成的流的 HTTP 连接器中的“路径”不同。

    apikit 向导会生成如下所示的默认路径:“/api/*”。

    因此,Mule 在尝试部署应用程序时会产生错误。您需要做的是将路径更改为“/api/func1/”和“/api/func2/

    【讨论】:

      【解决方案2】:

      您可以继续拥有单个 RAML 文件并进行外部引用以简化您的 raml,这是一个示例:

      #%RAML 0.8
      
      title: Eventlog API
      version: 1.0
      baseUri: http://eventlog.example.org/{version}
      
      schemas:
        - eventJson: !include eventSchema.json
          eventListJson: !include eventlistSchema.json
      

      按照严格的 REST 设计,建议在单个 RAML 文件中维护与资源相关的详细信息。

      您可以选择编辑网址以解决任何与上下文相关的冲突。

      【讨论】:

      • 嗯,这就是我真正想要避免的。为什么?因为假设您更改了其中一个功能并想使用 APIKit 重新生成流程。它将重写这两个函数。
      猜你喜欢
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-22
      • 2016-05-11
      相关资源
      最近更新 更多