swagger 文档优化 knife4j 增强 Swagger
swagger 省去了程序员开发过程中拟写接口文档的时间,是团队开发必不可少的工具,原生的swagger 界面功能比较少,也不支持文档导出,业界也有不少针对swagger 文档界面优化的插件,良莠不齐,选一个功能比较强大的推荐一下: knife4j
官网地址:https://doc.xiaominfo.com/knife4j/documentation/
常用的增强 Swagger 的方案有下面两种:
YApi :YApi 是一个可本地部署的、打通前后端及 QA 的、可视化的接口管理平台。可以帮助我们让 swagger 页面的体验更加友好,目前很多大公司都在使用这个开源工具。项目地址:https://github.com/YMFE/yapi 。使用方法:当 Swagger 遇上 YApi,瞬间高大上了!
Knife4j :Swagger 生成 Api 文档的增强解决方案,前身是 swagger-bootstrap-ui 。官方文档:https://xiaoym.gitee.io/knife4j/documentation/ 。
根据官网介绍,knife4j 是为 Java MVC 框架集成 Swagger 生成 Api 文档的增强解决方案。
项目地址:https://gitee.com/xiaoym/knife4j 。
这里主要介绍 Knife4j
- 简介:
Knife4j 是为 Java MVC 框架集成 Swagger 生成 Api 文档的增强解决方案,前身是 swagger-bootstrap-ui, 取名 knife4j 是希望它能像一把匕首一样小巧,轻量,并且功能强悍!
- 两种接口文档访问地址
knife4j 访问地址:http://localhost:8080/doc.html
Swagger2.0访问地址:http://localhost:8080/swagger-ui.html
Swagger3.0访问地址:http://localhost:8080/swagger-ui/index.html
- 导入依赖

<!-- 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配置文件一致,只是添加了两个注解
2 package com.example.swagger.config;
3
4 import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
5 import org.springframework.context.annotation.Bean;
6 import org.springframework.context.annotation.Configuration;
7 import springfox.documentation.builders.ApiInfoBuilder;
8 import springfox.documentation.builders.PathSelectors;
9 import springfox.documentation.builders.RequestHandlerSelectors;
10 import springfox.documentation.service.ApiInfo;
11 import springfox.documentation.service.Contact;
12 import springfox.documentation.spi.DocumentationType;
13 import springfox.documentation.spring.web.plugins.Docket;
14
15 @Configuration
16 //@EnableSwagger2 //开启 Swagger2
17 @EnableOpenApi //开启 Swagger3 ,可不写
18 @EnableKnife4j //开启 knife4j ,可不写
19 public class Knife4jConfig {
20 @Bean
21 public Docket createRestApi() {
22 // Swagger 2 使用的是:DocumentationType.SWAGGER_2
23 // Swagger 3 使用的是:DocumentationType.OAS_30
24 return 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("com.example"))
41 // .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
42 .paths(PathSelectors.any())
43 .build();
44 }
45 }
Knife4jConfig
- 功能特点
https://blog.csdn.net/qq_45632313/article/details/109777131
注:具体使用方式与Swagger无太大差别
Knife4j官文:https://doc.xiaominfo.com/knife4j/documentation/
YApi官文:https://hellosean1025.github.io/yapi/documents/index.html
参考:
https://blog.csdn.net/keep_learn/article/details/111313399
https://blog.csdn.net/a1120467800/article/details/118080195
https://blog.csdn.net/qq_45632313/article/details/109777131
swagger 文档优化 knife4j 增强 Swagger的更多相关文章
- revel + swagger 文档也能互动啦
beego 从 1.3 后开始支持自动化API文档,不过,目测比较复杂,一直期望 revel 能有官方支持. revel 确实已经有了官方支持的计划,有可能将在 0.14 版本支持,现在才 0.11. ...
- Swagger文档转Word 文档
GitHub 地址:https://github.com/JMCuixy/SwaggerToWord/tree/developer 原创作品,转载请注明出处:http://www.cnblogs.co ...
- 利用typescript生成Swagger文档
项目地址:https://github.com/wz2cool/swagger-ts-doc demo代码地址:https://github.com/wz2cool/swagger-ts-doc-de ...
- 使用 Swagger 文档化和定义 RESTful API
大部分 Web 应用程序都支持 RESTful API,但不同于 SOAP API——REST API 依赖于 HTTP 方法,缺少与 Web 服务描述语言(Web Services Descript ...
- springboot成神之——swagger文档自动生成工具
本文讲解如何在spring-boot中使用swagger文档自动生成工具 目录结构 说明 依赖 SwaggerConfig 开启api界面 JSR 303注释信息 Swagger核心注释 User T ...
- asp.net core 2.1 生成swagger文档
新建asp.netcore2.1 api项目 “WebApplication1” 在nuget管理器中添加对Swashbuckle.AspNetCore 3.0.0.Microsoft.AspNetC ...
- Swagger文档转Word
Swagger文档转Word 文档 GitHub 地址:https://github.com/JMCuixy/SwaggerToWord/tree/developer 原创作品,转载请注明出处:h ...
- Spring Boot:整合Swagger文档
综合概述 spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口.这些接口不但会服务于传统的web端(b/s),也会服务于 ...
- Springboot 系列(十六)你真的了解 Swagger 文档吗?
前言 目前来说,在 Java 领域使用 Springboot 构建微服务是比较流行的,在构建微服务时,我们大多数会选择暴漏一个 REST API 以供调用.又或者公司采用前后端分离的开发模式,让前端和 ...
- asp.net core web api 生成 swagger 文档
asp.net core web api 生成 swagger 文档 Intro 在前后端分离的开发模式下,文档就显得比较重要,哪个接口要传哪些参数,如果一两个接口还好,口头上直接沟通好就可以了,如果 ...
随机推荐
- [转帖]三篇文章了解 TiDB 技术内幕 - 说存储
https://cn.pingcap.com/blog/tidb-internal-1 引言 数据库.操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石.其中数据库更靠近应用层,是很多业务的 ...
- [转帖]VCSA证书过期问题处理
1. 故障现象 2022年10月25日,登陆VC报错. 按照报错信息,结合官方文档,判断为STS证书过期导致. vCenter Server Appliance (VCSA) 6.5.x, 6.7. ...
- [转帖]Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007)
https://www.cnblogs.com/yoyoketang/p/10255100.html 前言 使用ab压力测试时候出现报错apr_pollset_poll: The timeout sp ...
- OpenEuler切换内核的方法-bcc学习后续
OpenEuler切换内核的方法 摘要 昨天使用OpenEuler 22.03 LTS学习bcc但是一直不行. 没办法切换到CentOS8 还有 Anolis 8 很容易就可以直接还是用了 yum i ...
- selenium使用cookie登录百度网页
1.首先我们先来了解下cookie的几种方法 get_cookies():获取所有cookie值 get_cookie(name):根据cookie的name值获取对应的value值 get_all_ ...
- Bitmap、RoaringBitmap原理分析
作者:京东科技 曹留界 在人群本地化实践中我们介绍了人群ID中所有的pin的偏移量可以通过Bitmap存储,而Bitmap所占用的空间大小只与偏移量的最大值有关系.假如现在要向Bitmap内存入两个p ...
- echarts柱状图圆角实现
series: [{ name: '销量', type: 'bar', barWidth : 30,//柱图宽度 data: [5, 20, 36, 10, 10, 20], itemStyle: { ...
- 兄弟组件互相传递值-this.$bus.$emit与this.$bus.$on
B组件向C组件传递一个值. 一种组件间通信的方式, 适用于任意的组件间通信. 适用于任意的组件间通信. 适用于任意的组件间通信. 通过this.$bus.$emit('事件名',数据)进行提供数据 通 ...
- 【VictoriaMetrics源码阅读】: vm中对map的优化
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu github 公众号:一本正经的瞎扯 具体代码请看:https://github.com/ahf ...
- Mixed spaces and tabs
ykit打包过程中报错信息如下: 报错原因: Mixed spaces and tabs(混合空格和制表符). 大多数代码约定要求使用空格或 tab 进行缩进,因此,一行代码若同时混有 tab缩进和空 ...