Mule 应用程序不断触发错误的流程 - 可能的 RAML 问题
Posted
技术标签:
【中文标题】Mule 应用程序不断触发错误的流程 - 可能的 RAML 问题【英文标题】:Mule app keeps triggering the wrong flow - possible RAML issue 【发布时间】:2018-12-25 12:32:48 【问题描述】:我编写了一个简单的 raml,它可以获取所有客户、通过 Id 获取客户或通过名称获取客户。 RAML 的结构如下:
/customer
get:
...
/id
get:
...
/name
get:
...
我的问题是,当我传入客户名称时,例如john 然后它一直落入 GET id 的处理中,当我查看请求 URI 时,它显示 /api/customer/john 所以看起来它落入 GET id 处理中,因为它无法区分哪个它用于 URI 参数,GET id 是 XML 中的第一个流。
我怎样才能防止这种情况并让它去 GET name?
我从 Anypoint API 控制台调用它并使用 Mule 4.1 和 Anypoint 7。
谢谢
【问题讨论】:
【参考方案1】:URL 参数只是字符串。所以 raml 和 apikit 没有办法区分这两者。他们无法知道什么是“名称”和“身份”。
我会将其更改为拥有 customer/id 并在客户资源 ?name=John 上使用查询参数
【讨论】:
以上是关于Mule 应用程序不断触发错误的流程 - 可能的 RAML 问题的主要内容,如果未能解决你的问题,请参考以下文章
mule3 到 mule 4 表达式到 dataweave 2.0
Mule DataWeave 转换消息失败,缺少元数据:id 属性