升级Springfox Swagger从2.9.2到3.0.0后无法正常运行的问题
问题解决方案
1. 修正依赖配置
Springfox 3.0.0推荐使用springfox-boot-starter替代原有的springfox-swagger2和springfox-swagger-ui依赖,它会自动管理关联依赖,避免版本冲突。修改pom.xml如下:
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
移除原来的springfox-swagger2和springfox-swagger-ui两个依赖项。
2. 移除引发解析错误的配置
报错信息显示布尔值解析失败,是因为Springfox 3.0.0对springfox.documentation.swagger.use-model-v3参数的处理逻辑有变化,且使用starter后无需手动配置该参数。直接删除application.properties中的springfox.documentation.swagger.use-model-v3=false配置即可。
3. 调整配置类注解
Springfox 3.0.0不再需要@EnableSwagger2注解,改用@EnableOpenApi开启Swagger功能,同时保留@Configuration注解。示例配置类:
@Configuration @EnableOpenApi public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.OAS_30) .select() .apis(RequestHandlerSelectors.basePackage("你的controller全路径包名")) .paths(PathSelectors.any()) .build(); } }
4. 兼容性说明
Springfox 3.0.0与Spring MVC 5.3.8完全兼容,官方明确支持Spring 5.x系列版本,版本匹配问题可排除。
5. 调整Swagger页面访问路径
Springfox 3.0.0的Swagger UI访问路径从原/swagger-ui.html变更为/swagger-ui/(注意末尾斜杠),启动应用后访问该路径即可加载Swagger页面。
内容的提问来源于stack exchange,提问作者CodingDefinition2134
相关产品推荐
相关产品推荐

