springboot整合swagger+knife4j

参考网址:

https://mp.weixin.qq.com/s/KlYj5JuJSJYQQ47mQu7b1w

swagger配置参考文档

swagger新版本和旧版本的配置以及区别

https://mp.weixin.qq.com/s?__biz=MzU1NTkwODE4Mw==&mid=2247494597&idx=1&sn=2bcd072f05a39345452e11c631973a62&scene=21#wechat_redirect

https://mp.weixin.qq.com/s?__biz=MzU1NTkwODE4Mw==&mid=2247494597&idx=1&sn=2bcd072f05a39345452e11c631973a62&scene=21#wechat_redirect

整体的整合步骤

准备工作

准备一个springboot的单体应用作为测试

1.整合swagger3.0

1.1引入依赖

<!--springfox swagger官方Starter--><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>

1.2添加配置类

package com.atguigu.yygh.hosp.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;/*** Swagger2API文档的配置* 访问地址* http://localhost:端口号/swagger-ui/* 我搭建项目喜欢使用springboot默认端口8080* http://localhost:8080/swagger-ui/*http://项目的ip地址:项目端口号/swagger-ui/*/
@Configuration
public class Swagger2Config {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()/*** 重点说明:* 其余都是可以默认,但是controller扫描的路径一定要该队,是该项目的controller包路径*/.apis(RequestHandlerSelectors.basePackage("com.atguigu.yygh.hosp.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder()/*** 指定项目的名称和主题*/.title("xxxx演示")/*** 描述项目的用途*/.description("xxxxxdescription")/*** name:使用者的姓名* url:使用者的相关技术文章* email:使用者的邮箱地址*/.contact(new Contact("xxx", "xxxxx", "xxxxx")).version("1.0").build();}
}

2.整合knife4j

说明:整合knif4j特别简单,引入一个依赖即可

引入依赖

        <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</version></dependency>

使用

1.访问网址

swagger3的访问网址

http://项目的ip地址:项目端口号/swagger-ui/

示例

localhost:8080/swagger-ui

knife4j访问网址

http://项目的ip地址:项目端口号/doc.html

示例

localhost:8080/doc.html

2.搜索功能

我觉得 Knife4j 最实用的一个功能就是“接口搜索”了,通过这个功能我们可以非常方便的找到我们需要的接口,如下图所示:

3.离线文档下载

Knife4j 提供了 4 种格式的离线文档下载:Markdown、Html、Word、OpenAPI 等方式,如下图所示:

4.接口过滤

可以通过 Knife4j 过滤某一类型的接口,比如过滤 GET 或者 POST 接口,如下图所示:

5.全局参数设置

如果有公共的请求参数,我们可以通过 Knife4j 轻松搞定,如下图所示:

6.更友好的接口调试

使用 Knife4j 可以更友好的实现接口调试,因为在使用 Knife4j 时,它会将必传的参数以红色边框的方式显示,这样我们就直观的区分开必填参数和非必填参数了,如下图所示:

总结

Swagger 作为非常欢迎的框架同时也存在着一些功能“缺陷”,那么为了弥补 Swagger 的不足,我们引入了 Knife4j 框架,使用 Knife4j 我们可以很方便的实现:接口搜索、离线文档下载、全局参数设置、接口过滤和更加友好的接口测试等功能。然而和它的功能同样令人惊讶的是它的配置,在使用 Knife4j 时,我们只需要在项目中添加它的引用,之后无需任何多余的操作就可以直接使用 Knife4j 了,简直完美



个人csdn博客网址:https://blog.csdn.net/shaoming314

个人博客网址:www.shaoming.club

个人gitee地址:https://gitee.com/shao_ming314/note

t/shaoming314

[外链图片转存中…(img-P4oCnzbO-1617852223521)]

个人博客网址:www.shaoming.club

[外链图片转存中…(img-FlKBHxwa-1617852223522)]

个人gitee地址:https://gitee.com/shao_ming314/note

springboot整合swagger+knife4j相关推荐

  1. springboot整合swagger knife4j starter

    1.加入knife4j starter依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifa ...

  2. 六、springboot整合swagger

    六.springboot整合swagger 简介 swagger 提供最强大,最易用的工具,以充分利用OpenAPI规范. 官网 : https://swagger.io/ 准备工作 pom.xml ...

  3. Springboot整合swagger指南

    Springboot整合swagger指南 1. 安装使用 1.1 下载依赖 <dependency><groupId>io.springfox</groupId> ...

  4. 解决高版本SpringBoot整合swagger时启动报错:Failed to start bean ‘documentationPluginsBootstrapper‘ 问题

    一.控制台的报错信息 2021-12-29 15:15:04 [main] ERROR org.springframework.boot.SpringApplication - Application ...

  5. springboot整合swagger(高版本)异常

    springboot整合swagger(高版本)异常 参考文章: (1)springboot整合swagger(高版本)异常 (2)https://www.cnblogs.com/chbyiming- ...

  6. 高版本springboot整合swagger

    高版本springboot整合swagger 这是我的springboot版本2.6: ![!\[Alt\](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF ...

  7. springboot整合swagger+mybatisplus案例

    1.前后端分离的一个常用的文档接口swaggerui越来越受欢迎,方便了前端以及后端人员的测试 2.如下为springboot整合swagger和mybatispus案例的github地址:https ...

  8. Springboot整合Swagger实战(一)

    Springboot整合Swagger实战(一) 记录一下自己在开发过程中,遇到的问题及安装环境的步骤(最讨厌安装环境了),希望可以帮到大家. 我在遇到问题的时候也是查找了好多文章,奈何呀,全是问题, ...

  9. Swagger - SpringBoot整合Swagger最佳实践

    总结 Swagger UI部分有两种,一种是官方提供的名为swagger-ui,访问路径为/swagger-ui.html,一种是萧明同学提供的swagger-bootstrap-ui,访问路径为/d ...

最新文章

  1. 通过构建DCA(Decision Curve Analysis)模型、获取模型数据并使用python进行绘图
  2. RMB符号的几种显示方式。
  3. jQuery事件绑定on()、bind()与delegate() 方法详解
  4. 软件测试自动化的成功经验
  5. perl--模块安装方法和常用模块
  6. 3、Finished with error: FormatException: Bad UTF-8 encoding 0xc3 (at offset 169)
  7. 【转】Dynamics 365中开发和注册插件介绍
  8. k8s核心技术-Service概述_Service的三种类型_ClusterIP只能内部访问_NodePort可以外网访问_LoadBalancer公有云---K8S_Google工作笔记0032
  9. MaxCompute,基于Serverless的高可用大数据服务 1
  10. 走一波 程序员必备精品软件大全
  11. 去哪下载python项目_Python 项目实践二(下载数据)第三篇
  12. 我们走在一起——走进京杭大运河漕运码头
  13. Python为什么这么多人说好?
  14. 同步通信和异步通信的爱恨情仇
  15. 生命倒计时-倒数9116日
  16. 【无标题】猜单词小游戏
  17. 【微机原理与接口技术】学习笔记5 I/O接口和并行接口芯片8255A
  18. tkinter--画布
  19. CODING 敏捷实战系列加餐课:CODING 做敏捷这一年 - 理解一站式 DevOps 产品思想
  20. Android中的OpenGL使用初探

热门文章

  1. 媲美ROBERTA? ELECTRA快速了解一下!
  2. 淘宝承接页是如何实现秒开的
  3. 自然语言生成技术现状调查:核心任务、应用和评估(4)
  4. 如何让你的产品拥有信赖感和惊喜感
  5. 【FXCG】人民币国际支付份额上升
  6. vue echarts y轴文本过长,设置超出隐藏,然后显示省略号,并且鼠标悬浮上之后显示全部
  7. CF round280
  8. 主机连接虚拟机MySQL报错:Can't connect to Mysql server on '192.168.33.10' (10061 Unknown error)
  9. read和write的陷阱(很隐晦的)
  10. mac系统修改锁屏快捷键