У нас есть существующие маршруты REST, работающие с верблюдом 2.23.1 и пристанью. Мы перенаправляем входящие звонки на соответствующий сервер на основе uri, запроса и аутентификации пользователя. Мы хотим обработать это более широко.
Как мы можем изменить следующий код для обработки любого URI с "/ say" в качестве префикса?
В нашем RouteBuilder:
RestConfigurationDefinition rConfig = restConfiguration()
.component("jetty")
.port(webserverPort)
.contextPath("/")
.bindingMode(RestBindingMode.off)
.enableCORS(true)
.dataFormatProperty("prettyPrint", "true");
rest("/say")
.get().to("direct:test");
from("direct:test")
.bean(RouteRest.class, "getTestURI(*,*)")
.to("mock:output");
Мы попытались добавить свойство в restConfiguration, ala
.componentProperty("matchOnUriPrefix", "true");
Мы попытались добавить то же свойство в определение маршрута отдыха, ala
rest("/bye?matchOnUriPrefix=true")
Мы попытались создать новое утверждение from, которое, кажется, ломает все, аля
from("jetty://0.0.0.0:8123/now?matchOnUriPrefix=true").to("direct:test");
Я знаю об этом вопросе и ответе, но не знаю, как применить его к моему делу: stackoverflow.com / questions / 39341784
Кроме того, возможно ли сопоставить некоторые входящие вызовы с явно определенными URI, такими как "/ admin / status", и все другие URI с "direct: test"?