在RestController方法中获取ServerWebExchange

如何在控制器方法中获得ServerWebExchange响应或反应ServerHttpResponse?


我一直NestedServletException在尝试调用accept的rest controller方法ServerWebExchange。


我的控制器如下所示:


@RestController

@RequestMapping(path = "/path/{param1}/path", produces = MediaType.APPLICATION_JSON_VALUE)

public class MyController {

    @GetMapping("/path")

    public Mono<Void> method(ServerWebExchange exchange) {

        ...

    }

}

主要方法:


@SpringBootApplication

@ComponentScan(basePackages = {"my.package1", "my.package2"})

@EnableWebFlux

public class MyApp {

    public static void main(String[] args) {

        SpringApplication.run(MyApp.class, args);

    }

}

例外:


io.undertow.request:UT005023:对/ path / value / path / path的异常处理请求


org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常为java.lang.IllegalStateException:找不到接口org.springframework.web.server.ServerWebExchange的主构造函数或默认构造函数


慕斯王
浏览 2200回答 1
1回答

温温酱

解决方案:确保您没有spring-webmvc在类路径上。我正在迁移到spring-webflux,但是spring-webmvc作为传递依赖而获得。webflux并且webmvc不兼容-只有一个可以处理请求。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java