J'ai mon application Spring Boot Web Flux depuis un certain temps. À ce stade, je voulais ajouter des gestionnaires d'exception à ma fonction routeur:Comment définir ViewResolver dans Spring WebFlux
@Bean
RouterFunction<?> router(final GeneratorHandler generatorHandler) {
return resources("/**", new ClassPathResource("/static/"))
.andOther(route(GET("/generate"), generatorHandler::renderData)
.andRoute(GET("/index"), generatorHandler::renderIndex));
}
J'ajouté un autre bean comme ceci:
@Bean
HttpHandler httpHandler(final GeneratorHandler generatorHandler) throws Exception {
return WebHttpHandlerBuilder.webHandler(toHttpHandler(router(generatorHandler)))
.prependExceptionHandler((serverWebExchange, exception) -> {
//process here
return null;
})
.build();
}
Après cela, j'ai des problèmes avec mon résolveur de vue. Il ne peut trouver aucun de mes points de vue. Après avoir étudié, j'ai réalisé que le débogueur ne s'arrête pas dans la classe ThymeleafReactiveViewResolver.
Est-ce possible que cette modification ait également modifié le résolveur par défaut? Comment puis-je le ramener?
Si vous commentez le nouveau haricot 'httpHandler', tout est-il redevenu normal? – dillius
@dillius oui c'est le cas. –
Cette section du document [spring docs] (https://docs.spring.io/spring/docs/5.0.0.M4/spring-framework-reference/html/web-reactive.html#web-reactive-getting- started-manual) donne l'impression que vous devez fournir des informations de contexte au gestionnaire? – dillius