Mule 应用程序不断触发错误的流程——可能是 RAML 问题

Mule app keeps triggering the wrong flow - possible RAML issue

我写了一个简单的 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。

谢谢

URL 参数只是字符串。所以 raml 和 apikit 没有办法区分这两者。他们无法知道什么是“名称”与“ID”。

我会将其更改为具有 customer/{id} 并改为在客户资源上使用查询参数 ?name=John