Springboot ✚ Swagger各版本整理
- swagger配置变化原因:
- Swagger版本
-
- 1、Swagger 2.x 版本
-
- springboot 2.5.6 ✚ swagger 2.6.1~2.9.2配置属下
- 2、Swagger 3.x 版本
-
- springboot 2.5.6 ✚ swagger 3.0.0配置属下
- springboot 2.6.5 ✚ swagger 3.0.0配置属下
- Knife4j 版本
-
- Knife4j 3.0.3 ✚ Springboot2.7.1
swagger配置变化原因:
-
SpringBoot处理映射匹配的默认策略发生变化
请求路径与 Spring MVC 处理映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser。你可以设置spring.mvc.pathmatch.matching-strategy为ant-path-matcher来改变它。
-
springboot 2.6.0之前
public static class Pathmatch { private MatchingStrategy matchingStrategy = MatchingStrategy.ANT_PATH_MATCHER; }
-
springboot2.6.0之后
public static class Pathmatch { private MatchingStrategy matchingStrategy = MatchingStrategy.PATH_PATTERN_PARSER; }
如果升级springboot到2.6之后,需要设置
spring.mvc.pathmatch.matching-strategy=ant-path-matcher
来兼容Swagger2
2.Swagger升级
Swagger版本
1、Swagger 2.x 版本
swagger | 访问路径 |
---|---|
3.0.0之前 | http://127.0.0.1:8080/swagger-ui.html |
3.0.0之后 | http://127.0.0.1:8080/swagger-ui/index.html |
springboot 2.5.6 ✚ swagger 2.6.1~2.9.2配置属下
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.6</version>
</parent>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>2.6.1</version> 2.7.0 2.8.0 2.9.2 都可以
</dependency>
只需要在启动类上加 @EnableSwagger2
注解即可
访问地址:http://127.0.0.1:8080/swagger-ui.html
2、Swagger 3.x 版本
springboot 2.5.6 ✚ swagger 3.0.0配置属下
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.6</version>
</parent>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
只需要在启动类上加 @EnableSwagger2
注解即可
访问地址:http://127.0.0.1:8080/swagger-ui/index.html
springboot 2.6.5 ✚ swagger 3.0.0配置属下
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.5</version>
</parent>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
application.yml 或applicaiton.properties 中添 必须 加如下配置
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
只需要在启动类上加 @EnableSwagger2
注解即可
访问地址:http://127.0.0.1:8080/swagger-ui/index.html
Knife4j 版本
访问地址:http://127.0.0.1:8080/doc.html,访问方式和之前的保持一致,如果项目中配置拦截器等,需要放开doc.html静态资源
版本 | 说明 | SpringBoot | 配置注解 | 增强功能 |
---|---|---|---|---|
1.9.6 | 蓝色皮肤风格,增加更多后端模块 | @EnableSwagger2 |
不支持 | |
2.0~2.0.5 | Ui重写,蓝色背景变成黑色,底层依赖的springfox框架版本是2.9.2 | @EnableSwagger2 |
开启方式@EnableKnife4j |
|
2.0.6~ | 底层springfox框架版本升级知2.10.5,OpenAPI规范是v2 | 大于等于2.2.x (2.6.0之后需要需要设置spring.mvc.pathmatch.matching-strategy =ant-path-matcher ) |
@EnableSwagger2WebMvc |
开启方式knife4j.enable=true 默认不开启 |
3.0~ | 底层依赖springfox框架版本升级至3.0.3,OpenAPI规范是v3 | 大于等于2.2.x(2.6.0之后需要需要设置spring.mvc.pathmatch.matching-strategy =ant-path-matcher ) |
写不写都可以 | 开启方式knife4j.enable=true 默认不开启 |
Knife4j 3.0.3 ✚ Springboot2.7.1
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.1</version>
</parent>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
Knife4j 3.0.3 增强功能配置
相关文章
暂无评论...