Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mule APIKit和多个RAML_Mule - Fatal编程技术网

Mule APIKit和多个RAML

Mule APIKit和多个RAML,mule,Mule,是否可以在一个APIKit Mule项目中使用多个RAML文件 假设我有两个函数/api/func1和/api/func2。 每个函数都在自己的raml-func1.raml和func2.raml中定义。 我已经使用APIKit向导为第一个函数在任意点生成了一个流。工作正常 现在,我尝试为第二个函数生成一个流。生成的流没有错误。然而,它就是不起作用。我尝试过修复URL、绑定、配置,但没有任何真正的帮助。 注意,我不想将两个RAML绑定到一个文件中。原因是单独开发/维护这些功能更容易 我能看到的唯

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

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

现在,我尝试为第二个函数生成一个流。生成的流没有错误。然而,它就是不起作用。我尝试过修复URL、绑定、配置,但没有任何真正的帮助。 注意,我不想将两个RAML绑定到一个文件中。原因是单独开发/维护这些功能更容易

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

因此,我们正在寻找如何应对这种情况的建议


谢谢,

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

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


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

您可以继续使用单个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文件中维护与资源相关的详细信息


或者,您可以编辑url以解决任何与上下文相关的冲突。

好吧,这就是我实际上试图避免的。为什么?因为假设您更改了其中一个函数,并希望使用APIKit重新生成流。它将重写这两个函数。