Приложение 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