SpringCloudGateway中出现No primary or default constructor和web-application-type=reactive or remove

简介: SpringCloudGateway中出现No primary or default constructor和web-application-type=reactive or remove

报错1:Please set spring.main.web-application-type=reactive or remove spring-boot-starter-web dependency.

 

报错2:No primary or default constructor found for interface javax.servlet.http.HttpServletRequest。java.lang.NoSuchMethodException: javax.servlet.http.HttpServletResponse

 

一开始我是先报错1,然后就通过,在yml 配置文件中配置以下代码即可。或者在pom文件里注释掉spring-boot-starter-web的依赖

main:
    web-application-type: reactive

后面出现了报错2,在使用HttpServletResponse或HttpServletRequest方法的时候说没该方法。这时候我就想到了会不会是版本问题,但总的来想是不大可能的。毕竟别人导入的依赖是一样也可以。后面想到gateway组件中的spring-boot-starter-webflux也是有web功能但没有这个方法,而我傻逼的是把这个gateway组件放在了父类项目的pom中......(实际应该放在gateway项目中让gateway项目用他自己那套webflux),因为之前我已经在yml中把spring-boot-starter-web注释掉了这样就导致了只用了gateway网关的web发生没有这个方法的报错。

总的来说是:

在controller的接口类的方法参数中使用HttpServletResponse或HttpServletRequest作为参数的时候要用到spring-boot-starter-web依赖,但是一旦修改为了spring-boot-starter-webflux依赖,那么就不能再方法参数中使用HttpServletResponse或HttpServletRequest了。

且gateway组件放在父类项目且父类项目有中spring-boot-starter-web组件的话则会发生冲突

相关文章
|
缓存
SpringCloud Gateway 网关的请求体body的读取和修改
SpringCloud Gateway 框架中,为了处理请求体body,实现多次读取与修改,创建了一个名为`RequestParamGlobalFilter`的全局过滤器。这个过滤器使用`@Component`和`@Slf4j`注解,实现了`GlobalFilter`和`Ordered`接口,设置最高优先级以首先读取body。它通过缓存请求体并创建装饰过的`ServerHttpRequest`来实现body的动态获取。
2130 4
|
Nacos 微服务
Nacos2.0系列启动报错指南
近期闲来无事升级了一下自己微服务的各个组件的版本,追求新版一直是我的一个基本操作,毕竟勇于尝鲜才是王者风范,结果,升级Nacos版本的时候直接翻车,Nacos启动直接报错,顿时手足不错,想了想是不是新版有什么新特性或者其他调整啊,于是去官网看了一下,果然版本更新后存在了一些差异,下面一起来看看
1221 0
Nacos2.0系列启动报错指南
|
Oracle 关系型数据库 MySQL
MySQL中Sequence的使用
Oracle中Sequence可以使用,但在MySQL中没有序列实现,Oracle往MySQL迁移Sequence要怎么处理,是否有替代方案呢?
4492 0
|
SpringCloudAlibaba NoSQL 安全
SpringCloudAlibaba篇(九)SpringCloudGateWay整合Oauth2+Jwt实现认证中心
SpringCloudAlibaba篇(九)SpringCloudGateWay整合Oauth2+Jwt实现认证中心
2766 0
SpringCloudAlibaba篇(九)SpringCloudGateWay整合Oauth2+Jwt实现认证中心
|
存储 数据可视化 JavaScript
(低代码)可视化搭建平台数据源设计剖析
低代码平台属于APaaS(应用平台即服务),其解决的是企业内部应用协调和人效成本的问题. 随着计算机技术诸如云服务等的发展, 传统软件服务已无法满足数字化浪潮的压力,
1216 0
|
API Java 监控
SpringBoot基于OpenAPI3的接口文档管理快速集成和使用
本文主要简单介绍SpringCloud2023中进行接口文档管理,方便前后端开发和文档维护。文档管理工具基于开源的knife4j封装的openapi3。
1177 3
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
28975 0
|
Java 数据库连接 Spring
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could
这个错误通常出现在使用Spring Boot进行数据库连接时。错误信息表明Spring Boot未能配置一个DataSource,因为没有指定'url'属性,并且没有发现默认的数据库连接。
5917 0
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
1177 0

热门文章

最新文章