swagger⽂档优化knife4j增强Swagger
常⽤的增强 Swagger 的⽅案有下⾯两种:
根据官⽹介绍,knife4j 是为 Java MVC 框架集成 Swagger ⽣成 Api ⽂档的增强解决⽅案。
这⾥主要介绍 Knife4j
简介:
Knife4j 是为 Java MVC 框架集成 Swagger ⽣成 Api ⽂档的增强解决⽅案,前⾝是 swagger-bootstrap-ui, 取名 knife4j 是希望它能像⼀把⼔⾸⼀样⼩巧,轻量,并且功能强悍!
两种接⼝⽂档访问地址
导⼊依赖
<!-- Swagger 3.0.0 相关依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<!-- knife4j 3.0.2 相关依赖 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
<!-- Swagger 2.9.2 相关依赖 -->
<!--<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
-->
pom依赖
编写配置⽂件
1//改配置⽂件和Swagger配置⽂件⼀致,只是添加了两个注解
fig;
3
4import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
5import t.annotation.Bean;
6import t.annotation.Configuration;
7import springfox.documentation.builders.ApiInfoBuilder;
8import springfox.documentation.builders.PathSelectors;
spring framework documentation9import springfox.documentation.builders.RequestHandlerSelectors;
10import springfox.documentation.service.ApiInfo;
11import springfox.documentation.service.Contact;
12import springfox.documentation.spi.DocumentationType;
13import springfox.documentation.spring.web.plugins.Docket;
14
15 @Configuration
16//@EnableSwagger2      //开启 Swagger2
17 @EnableOpenApi    //开启 Swagger3 ,可不写
18 @EnableKnife4j    //开启 knife4j ,可不写
19public class Knife4jConfig {
20    @Bean
21public Docket createRestApi() {
22// Swagger 2 使⽤的是:DocumentationType.SWAGGER_2
23// Swagger 3 使⽤的是:DocumentationType.OAS_30
24return new Docket(DocumentationType.OAS_30)
25// 定义是否开启swagger,false为关闭,可以通过变量控制
26                .enable(true)
27// 将api的元信息设置为包含在json ResourceListing响应中。
28                .apiInfo(new ApiInfoBuilder()
29                        .title("Knife4j接⼝⽂档")
30// 描述
31                        .description("平台服务管理api")
32                        .contact(new Contact("作者", "地址", "邮箱或联系⽅式))
33                        .version("1.0.0")
34                        .build())
35// 分组名称
36                .groupName("1.0")
37// 选择哪些接⼝作为swagger的doc发布
38                .select()
39// 要扫描的API(Controller)基础包
40                .apis(RequestHandlerSelectors.basePackage("ample"))
41//                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
42                .paths(PathSelectors.any())
43                .build();
44    }
45 }
Knife4jConfig
功能特点
注:具体使⽤⽅式与Swagger⽆太⼤差别
参考:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。