0

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

谢谢

4

1 回答 1

1

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

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

于 2018-07-17T21:17:28.650 回答