springboot整合swagger+knife4j
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相关推荐
- springboot整合swagger knife4j starter
1.加入knife4j starter依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifa ...
- 六、springboot整合swagger
六.springboot整合swagger 简介 swagger 提供最强大,最易用的工具,以充分利用OpenAPI规范. 官网 : https://swagger.io/ 准备工作 pom.xml ...
- Springboot整合swagger指南
Springboot整合swagger指南 1. 安装使用 1.1 下载依赖 <dependency><groupId>io.springfox</groupId> ...
- 解决高版本SpringBoot整合swagger时启动报错:Failed to start bean ‘documentationPluginsBootstrapper‘ 问题
一.控制台的报错信息 2021-12-29 15:15:04 [main] ERROR org.springframework.boot.SpringApplication - Application ...
- springboot整合swagger(高版本)异常
springboot整合swagger(高版本)异常 参考文章: (1)springboot整合swagger(高版本)异常 (2)https://www.cnblogs.com/chbyiming- ...
- 高版本springboot整合swagger
高版本springboot整合swagger 这是我的springboot版本2.6: ![!\[Alt\](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF ...
- springboot整合swagger+mybatisplus案例
1.前后端分离的一个常用的文档接口swaggerui越来越受欢迎,方便了前端以及后端人员的测试 2.如下为springboot整合swagger和mybatispus案例的github地址:https ...
- Springboot整合Swagger实战(一)
Springboot整合Swagger实战(一) 记录一下自己在开发过程中,遇到的问题及安装环境的步骤(最讨厌安装环境了),希望可以帮到大家. 我在遇到问题的时候也是查找了好多文章,奈何呀,全是问题, ...
- Swagger - SpringBoot整合Swagger最佳实践
总结 Swagger UI部分有两种,一种是官方提供的名为swagger-ui,访问路径为/swagger-ui.html,一种是萧明同学提供的swagger-bootstrap-ui,访问路径为/d ...
最新文章
- 通过构建DCA(Decision Curve Analysis)模型、获取模型数据并使用python进行绘图
- RMB符号的几种显示方式。
- jQuery事件绑定on()、bind()与delegate() 方法详解
- 软件测试自动化的成功经验
- perl--模块安装方法和常用模块
- 3、Finished with error: FormatException: Bad UTF-8 encoding 0xc3 (at offset 169)
- 【转】Dynamics 365中开发和注册插件介绍
- k8s核心技术-Service概述_Service的三种类型_ClusterIP只能内部访问_NodePort可以外网访问_LoadBalancer公有云---K8S_Google工作笔记0032
- MaxCompute,基于Serverless的高可用大数据服务 1
- 走一波 程序员必备精品软件大全
- 去哪下载python项目_Python 项目实践二(下载数据)第三篇
- 我们走在一起——走进京杭大运河漕运码头
- Python为什么这么多人说好?
- 同步通信和异步通信的爱恨情仇
- 生命倒计时-倒数9116日
- 【无标题】猜单词小游戏
- 【微机原理与接口技术】学习笔记5 I/O接口和并行接口芯片8255A
- tkinter--画布
- CODING 敏捷实战系列加餐课:CODING 做敏捷这一年 - 理解一站式 DevOps 产品思想
- Android中的OpenGL使用初探
热门文章
- 媲美ROBERTA? ELECTRA快速了解一下!
- 淘宝承接页是如何实现秒开的
- 自然语言生成技术现状调查:核心任务、应用和评估(4)
- 如何让你的产品拥有信赖感和惊喜感
- 【FXCG】人民币国际支付份额上升
- vue echarts y轴文本过长,设置超出隐藏,然后显示省略号,并且鼠标悬浮上之后显示全部
- CF round280
- 主机连接虚拟机MySQL报错:Can't connect to Mysql server on '192.168.33.10' (10061 Unknown error)
- read和write的陷阱(很隐晦的)
- mac系统修改锁屏快捷键