在Spring路由定义中使用谓词不起作用

时间:2018-06-17 07:12:54

标签: spring java-8 spring-webflux predicates

我正在尝试使用Spring的WebFlux模块定义一个Route。这是我的路线定义:

@Bean
public RouterFunction<?> routes(Handler handler) {
    Predicate<ServerRequest.Headers> predicate = headers -> headers.equals("clientId");
    return
            route(GET("/api/v1/client/info").and(headers(predicate)),handler::getInfo);
}

我的目的是定义具有特定路径的GET endPoint,并且客户端必须提供名为“clientId”的请求标头。当我调用endPoint时,此定义不起作用。但是,如果我将header()部分取出,则呼叫将通过。我在这里错过了什么?请建议。

谢谢。

0 个答案:

没有答案