Java 如何在现有驼峰码头休息路线上添加matchOnUriPrefix?

Java 如何在现有驼峰码头休息路线上添加matchOnUriPrefix?,java,rest,apache-camel,jetty,Java,Rest,Apache Camel,Jetty,我们现有的休息路线与骆驼2.23.1和码头一起工作。我们根据uri、查询和用户的身份验证将传入呼叫重定向到适当的服务器。我们想更全面地处理这个问题 我们如何修改下面的代码来处理任何前缀为“/say”的uri 在我们的RouteBuilder中: RestConfigurationDefinition rConfig = restConfiguration() .component("jetty") .port(webse

我们现有的休息路线与骆驼2.23.1和码头一起工作。我们根据uri、查询和用户的身份验证将传入呼叫重定向到适当的服务器。我们想更全面地处理这个问题

我们如何修改下面的代码来处理任何前缀为“/say”的uri

在我们的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中

.componentProperty("matchOnUriPrefix", "true");
我们已经尝试将相同的属性添加到rest路由定义ala中

rest("/bye?matchOnUriPrefix=true")
我们已经尝试创建一个新的from语句,它似乎打破了一切,ala

from("jetty://0.0.0.0:8123/now?matchOnUriPrefix=true").to("direct:test");
我知道这个问题和答案,但不知道如何将其应用到我的案例中:


此外,是否可以将一些传入调用与显式定义的uri(如“/admin/status”)匹配,并将所有其他uri与“direct:test”匹配?

我们最终完全取出restConfiguration()并单独配置端点,这符合我们不断扩展的需求。我们最初的restConfiguration()限制了可以到达端点本身的消息。也许我们可以直接修改restConfiguration以实现更大的灵活性,包括删除
.contextPath(“/”
)。这直接允许以下代码工作:

from("jetty:http://{{ip}}:{{port}}?matchOnUriPrefix=true")
        .bean(RestForward.class, "checkUserAuth(*)")
        .bean(RestForward.class, "checkDevice(*)")
        .bean(RestForward.class, "forward(*,*)")
        .to("mock:output");