Ash*_*oli 4 spring spring-webflux
在 tomcat 中将 Spring WebFlux 应用程序部署为 war 文件时遇到以下异常。使用 AbstractAnnotationConfigDispatcherHandlerInitializer 扩展并实现 getConfigClasses 方法,如下所示。
应用
@SpringBootApplication
public class TestSpringApplication extends AbstractAnnotationConfigDispatcherHandlerInitializer {
public static void main(String[] args) {
SpringApplication.run(TestSpringApplication.class, args);
}
@Override
protected Class<?>[] getConfigClasses() {
return new Class[]{
WebConfig.class
};
}
Run Code Online (Sandbox Code Playgroud)
控制器
@Controller
public class TestSpringController {
@RequestMapping("/test")
public Mono<String> hello(Model model){
return Mono.just("account");
}
}
Run Code Online (Sandbox Code Playgroud)
注意:account.html 位于 resources/templates 下
例外
java.lang.IllegalStateException: Could not resolve view with name 'account'.
at org.springframework.web.reactive.result.view.ViewResolutionResultHandler.lambda$resolveViews$3(ViewResolutionResultHandler.java:276) ~[spring-webflux-5.0.1.RELEASE.jar:5.0.1.RELEASE]
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:107) [reactor-core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
Run Code Online (Sandbox Code Playgroud)
小智 11
使用类的注解@RestController代替@ControllerTestSpringController
或者,您可以将@ResponseBody注释添加到带有注释的控制器方法中@Controller,以返回响应正文。
| 归档时间: |
|
| 查看次数: |
4382 次 |
| 最近记录: |