У меня есть следующие маршруты, сопоставленные через @RequestMapping (GET) в Spring Boot Rest Controller
/base/{baseName}
/base/{baseName}/next/{nextName}
У меня также есть следующие маршруты с подстановочными знаками
1. /base/{baseName}/**
2. /base/{baseName}/next/{nextName}/*
, которые работают дляследующие случаи
GET /base/baseName
GET /base/baseName/foo # Hits 1
GET /base/baseName/foo/bar/etc # Hits 1
GET /base/baseName/next/nextName
GET /base/baseName/next/nextName/foo # Hits 2
Единственная ситуация, которая не работает, это
GET /base/baseName/next/nextName/foo/bar... # Hits 1
, так как я хочу, чтобы вместо нее ударил маршрут 2 .
Это не работает, потому что соответствующий приоритет в Spring Boot указывает, что маршруты с подстановочными знаками 1 и 2 имеют одинаковые значения (1 точка для каждого подстановочного знака, 1 точка для каждого шаблона).
Поскольку маршрут 2 не может соответствовать неограниченным каталогам, он не работает.Если бы я добавил дополнительный подстановочный знак, маршрут 1 всегда имел бы приоритет.
Есть ли способ изменить правила приоритета или реструктурировать мои сопоставления?