Ich habe meine Spring Boot Web Flux-Anwendung schon seit einiger Zeit. An dieser Stelle wollte ich einige Exception-Handler zu meinem Router-Funktion hinzuzufügen:So stellen Sie ViewResolver im Frühjahr ein WebFlux
@Bean
RouterFunction<?> router(final GeneratorHandler generatorHandler) {
return resources("/**", new ClassPathResource("/static/"))
.andOther(route(GET("/generate"), generatorHandler::renderData)
.andRoute(GET("/index"), generatorHandler::renderIndex));
}
So habe ich eine andere Bohne wie folgt aus:
@Bean
HttpHandler httpHandler(final GeneratorHandler generatorHandler) throws Exception {
return WebHttpHandlerBuilder.webHandler(toHttpHandler(router(generatorHandler)))
.prependExceptionHandler((serverWebExchange, exception) -> {
//process here
return null;
})
.build();
}
Danach ich Probleme mit meiner Sicht Resolver habe. Es kann keine meiner Ansichten finden. Nach der Untersuchung habe ich festgestellt, dass der Debugger nicht in der ThymeleafReactiveViewResolver-Klasse stoppt.
Ist es möglich, dass diese Änderung auch den Standard-View-Resolver änderte? Wie kann ich es zurückbringen?
Wenn Sie die neue Bean "httpHandler" auskommentieren, wird alles wieder normal? – dillius
@dillius ja es tut. –
Dieser Abschnitt der [Spring-Dokumentation] (https://docs.spring.io/spring/docs/5.0.0.M4/spring-framework-reference/html/web-reactive.html#web-reactive-getting- started-manual) scheint es so, als müssten Sie dem Handler Kontextinformationen geben. – dillius