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中如何统计千万个文件总和

    很简单.很简单.很简单.重要事情说三遍 命令:ls | grep '匹配信息' | wc -l ls查看该目录下的所有文件,果然隐藏文件也要匹配上的话,需要:ls -a grep匹配,如查看文件中有. ...

  2. Redis数据倾斜与JD开源hotkey源码分析揭秘

    1 前言 之前旁边的小伙伴问我热点数据相关问题,在给他粗略地讲解一波redis数据倾斜的案例之后,自己也顺道回顾了一些关于热点数据处理的方法论,同时也想起去年所学习JD开源项目hotkey--专门用来 ...

  3. React中函数组件与类组件的两种使用

    React 创建组件的两种方式 函数组件:使用js函数创建的组件 约定1:函数名称必须以大写字母开头 约定2:函数组件必须要有返回值. 如果返回值为null.表示不渲染任何内容. return nul ...

  4. elementUI封装 el-dialog

    讲解 // 讲解: @close="$emit('update:show1', false)"是子组件跟新父组件中的某值show1,将值变为false // :visible.sy ...

  5. 【JS 逆向百例】XHR 断点调试,Steam 登录逆向

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标 目标:Steam ...

  6. 从零开始配置 vim(4)——键盘映射的一些技巧

    通过前面的学习,我们已经知道了如何进行键盘映射,并且也知道了在任何场合应该使用非递归版本的映射.这篇再介绍一些使用关于快捷键映射的内容作为收尾 快速编辑 vimrc 文件 通过前面掌握的知识,相信各位 ...

  7. TienChin 渠道管理-删除渠道

    更改一下菜单权限,将删除渠道的 delete 改为 remove: ChannelController.java @PreAuthorize("hasPermission('tienchin ...

  8. 安装 Nginx 修改默认端口

    用远程工具连接我们上次购买的机器,这里我要介绍一个知识点,博主使用的工具是 MobaXterm,这个工具有一个多操作的功能,在下图的位置可以开启多操作,然后连接你的服务器机子即可: 首先我们将机子里面 ...

  9. 解决问题:ACM-Reference-Format使用这个style后,文献引用顺序和正文不一致

    解决问题:latex中bib引用顺序不正确,引用顺序和正文不一致_丨汀.的博客-CSDN博客问题:生成pdf时文献应用会乱序引用bib格式的参考文献时,会这么写:\bibliographystyle{ ...

  10. Vulkan学习苦旅02:看不见的窗口(创建VkInstance与VkSurfaceKHR)

    在上一节中,我们搭建了学习Vulkan所需的环境.今天,我们将会初步了解"地图"顶层的内容.  如图所示,"地图"的顶层有两个模块: Instance和Surf ...