整合Swagger官方Starter遇到的bug及解决方案
环境:
- SpringBoot 2.6.0
- springfox-boot-starter 3.0.0
问题:
配置过程就不赘述了,网上教程一大把,主要是遇到的问题,这个问题是针对Spring Boot 2.6.0出现的,在Spring Boot 2.6.0配置好swagger后可能会出现如下报错。
原因:
这是因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.0使用的是PathPatternMatcher。
解决方案:
1.修改application.yaml
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
如果你有使用Spring Boot的Actuator,那么Actuator就会失效,因为它是基于path_pattern_matcher的。如果你要同时使用,那么就得修改springfox了, 就不要使用starter依赖了。
2.Spring Boot版本降级
将Spring Boot降级到2.5.6
总结:
暂时我也只有这些解决方案,希望能帮到同样遇到这些问题的人,后面还会找一下有没有别的办法,或者官方会更新新的一版,解决这个bug。