Приложение Mule продолжает вызывать неправильный поток - возможная проблема RAML

Я написал простой raml, который может или ПОЛУЧИТЬ всех клиентов, ПОЛУЧИТЬ клиента по идентификатору или ПОЛУЧИТЬ клиентов по имени. 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 не имеют возможности разграничить их. У них нет возможности узнать, что такое "имя" против "id".

Я бы поменял его на customer/{id} и вместо него использовал бы запрос Param на ресурсе customer? Name=John

Другие вопросы по тегам