SpringBoot 2.7.x 集成knife4j-openapi3 访问doc.html出现 Uncaught SyntaxError:Unexpected token ':'
- 废话不多说,上号
-
- 出现的问题
- 处理的问题
- 修正成功后代码
- 至此就完结了
废话不多说,上号
出现的问题
网关访问doc.html 后出现的错误,但是访问swagger-ui.html 是正常的所以这就纳闷了!!!为什么出现这个问题,我也没去深究。
处理的问题
我用knife4j-openapi3-spring-boot-starter 4.1.0-4.5.0 对应 springdoc的1.6.x或者更高,我的项目使用springdoc 1.7.0打开doc.html 一直出现错误,而knife4j-openapi3-spring-boot-starter 引入的springdoc是1.7.0。
出现错误 可能和这个有关:针对4.1.0版本接口响应Base64编码的情况
https://github.com/springdoc/springdoc-openapi/issues/2143
导致一直没有成功,大家可以参考下上面两个链接。我这里的处理方式是直接剔除相关springdoc高的版本号,然后手动引入低版本springdoc 的jar包。
修正成功后代码
knife4j-openapi3-spring-boot-starter 4.4.0
手动引入
springdoc-openapi-webmvc-core 1.6.9
排除knife4j-openapi3-spring-boot-starter 高版本的springdoc 1.7.0 的版本即可。
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-webmvc-core</artifactId> <version>1.6.9</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi3-spring-boot-starter</artifactId> <version>4.4.0</version> <exclusions> <exclusion> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> </exclusion> <exclusion> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-common</artifactId> </exclusion> <exclusion> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-webflux-core</artifactId> </exclusion> </exclusions> </dependency>
至此就完结了
如果有用可以分享给有用的人 ?( ′???` )比心