0

在 RAML 中查询参数中的动态调用需要帮助。

在 RAML 中,我想动态调用示例文件夹中的 .raml 文件。通过查询参数,如果我发送 ?count=2 (例如:https ://anypointpoint.mulesoft.com/mocking/api?count=2 )然后执行 2_records.raml 文件作为响应,该文件位于示例文件夹中......如果我发送 ?count=3 然后 3_records.raml 文件以执行响应,该文件位于示例文件夹中。

api规范如下,可以清楚地理解:

/retrieveDetails get: queryParameters: count: #if query param ?count=2(in mock url) then 2_records.raml 执行。如果查询参数 ?count=3(在模拟 url 中)则 3_records.raml 执行。 在此处输入图像描述 类型:字符串响应:200:正文:application/json 示例:!include 示例/2_records.raml

并附上截图以便于理解。

4

1 回答 1

0

RAML 文件不可执行,并不意味着动态“调用”或“请求”。相反,它们描述了 API 的结构和类型。它们可能包括可选的示例,但没有办法“选择”一个示例而不是其他示例。

我认为您的问题确实与Anypoint Platform 中的Mocking Service的工作方式有关。这是一个使用 RAML 文件来模拟 API 请求的产品。阅读文档我根本看不到选择特定示例的方法。

作为替代方案,您可以在应用程序中实现 API,并添加逻辑以根据查询参数输入返回所需的响应。例如,您可以使用 APIKit 在 Anypoint Studio 中搭建 RAML API 并在 Mule 运行时中部署/执行。

于 2021-08-27T19:24:32.567 回答