Spring Boot Webflux: RouterFunctions Добавить параметры запроса - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь понять, как добавить параметры запроса к маршруту при использовании RouterFunctions. Вот что у меня есть:

  @Bean
public RouterFunction<ServerResponse> routes() {
    return
        RouterFunctions.route()
            .GET("/one/{one}", routeHandlerOne::handlerOne)
            .GET("/two", routeHandlerOne::handlerTwo)
        .build();
}

Для маршрута two я хочу добавить параметр запроса, например /two?three. Любая помощь будет очень полезной, спасибо!

1 Ответ

1 голос
/ 05 августа 2020

В классе RequestPredicates есть метод queryParam(), который вы можете использовать.

RouterFunctions.route()
   .GET("/one", RequestPredicates.queryParam("test", t -> true), new CustomHanlder())
   .build();

Есть два перегруженных метода для queryParam(). Для сравнения берется точное значение ( javado c). Второй (тот, что в примере выше) принимает предикат и делегирует его функции-обработчику, если предикат возвращает значение true ( javado c).

Затем вы можете получить доступ к запросу params через объект ServerRequest в вашей функции-обработчике ie.

serverRequest.queryParam("test")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...