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的更多相关文章

  1. revel + swagger 文档也能互动啦

    beego 从 1.3 后开始支持自动化API文档,不过,目测比较复杂,一直期望 revel 能有官方支持. revel 确实已经有了官方支持的计划,有可能将在 0.14 版本支持,现在才 0.11. ...

  2. Swagger文档转Word 文档

    GitHub 地址:https://github.com/JMCuixy/SwaggerToWord/tree/developer 原创作品,转载请注明出处:http://www.cnblogs.co ...

  3. 利用typescript生成Swagger文档

    项目地址:https://github.com/wz2cool/swagger-ts-doc demo代码地址:https://github.com/wz2cool/swagger-ts-doc-de ...

  4. 使用 Swagger 文档化和定义 RESTful API

    大部分 Web 应用程序都支持 RESTful API,但不同于 SOAP API——REST API 依赖于 HTTP 方法,缺少与 Web 服务描述语言(Web Services Descript ...

  5. springboot成神之——swagger文档自动生成工具

    本文讲解如何在spring-boot中使用swagger文档自动生成工具 目录结构 说明 依赖 SwaggerConfig 开启api界面 JSR 303注释信息 Swagger核心注释 User T ...

  6. asp.net core 2.1 生成swagger文档

    新建asp.netcore2.1 api项目 “WebApplication1” 在nuget管理器中添加对Swashbuckle.AspNetCore 3.0.0.Microsoft.AspNetC ...

  7. Swagger文档转Word

    Swagger文档转Word 文档   GitHub 地址:https://github.com/JMCuixy/SwaggerToWord/tree/developer 原创作品,转载请注明出处:h ...

  8. Spring Boot:整合Swagger文档

    综合概述 spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口.这些接口不但会服务于传统的web端(b/s),也会服务于 ...

  9. Springboot 系列(十六)你真的了解 Swagger 文档吗?

    前言 目前来说,在 Java 领域使用 Springboot 构建微服务是比较流行的,在构建微服务时,我们大多数会选择暴漏一个 REST API 以供调用.又或者公司采用前后端分离的开发模式,让前端和 ...

  10. asp.net core web api 生成 swagger 文档

    asp.net core web api 生成 swagger 文档 Intro 在前后端分离的开发模式下,文档就显得比较重要,哪个接口要传哪些参数,如果一两个接口还好,口头上直接沟通好就可以了,如果 ...

随机推荐

  1. [转帖]Linux—vi/vim全局替换

    https://www.jianshu.com/p/4daa5dbc7dd5 vim全局替换   在linux系统中编辑文件或者配置时,常常会用到全局替换功能. 语法格式 :%s/oldWords/n ...

  2. MySQL数据库页存储结构学习与了解

    MySQL数据库页存储结构学习与了解 背景 MySQL总是出现奇奇怪怪的问题. 想着自己能够学习与提高一下. 最近看了很多文档.关于MySQL数据库相关的. 想着总结和提炼一下, 希望能够给未来的工作 ...

  3. [转帖]认识目标文件的格式——a.out COFF PE ELF

    https://cloud.tencent.com/developer/article/1446849   1.目标文件的常用格式 目标文件是源代码编译后未进行链接的中间文件(Windows的.obj ...

  4. IPV6的简单学习与整理

    背景 大概2018年时曾经突击学习过一段时间IPV6 当时没太有写文档的习惯,导致这边没有成型的记录了. 今天又有项目要求使用IPV6, 想了想就将之前学习的部分 还有想继续学习提高的部分进行一下总结 ...

  5. 400G 光模块的价格

    400G 光模块的价格  令人惊叹... https://www.fs.com/cn/c/40g-100g-transceivers-889?pro_type=&sortby=priced&a ...

  6. tortoisegit 还原远程分支到某个版本

    v2还原到v1 1.强制还原(git reset) 如果使用这种方式还原到v1,将丢失还原到v1到v2之间的所有提交及日志. 1.1显示日志 有save1.save2两条提交记录. 1.2 重置版本( ...

  7. 压缩软件 WinRAR 去广告

    别去中国的那个代理网站下载 去国外的官网下载英文版或者湾湾版的, 这样用网上的rarreg.key文件方式就没有广告了, 不然中国的就是有广告. 这里是湾湾版的链接: https://pan.baid ...

  8. SpringAll

    目录 Spring Cloud 01-初识SpringCloud与微服务 02-SpringCloud-Feign声明式服务的调用 Spring Security 01-SpringSecurity- ...

  9. 微信小程序-页面跳转Tabbar

    官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabBar 首先我们 ...

  10. Go语言核心36讲(Go语言实战与应用十)--学习笔记

    32 | context.Context类型 我们在上篇文章中讲到了sync.WaitGroup类型:一个可以帮我们实现一对多 goroutine 协作流程的同步工具. 在使用WaitGroup值的时 ...