SpringBoot 集成Swagger3+knife4j

以下代码来自本人真实企业项目摘录

1. 导入SpringFox依赖

        <!--Swagger3相关--><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>

springfox依赖中整合了Swagger3等有关依赖,引入该依赖之前请删除引入的Swagger相关依赖

2. 编写Swagger配置

package me.zhengjie.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestParameterBuilder;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;import java.util.ArrayList;
import java.util.List;/*** Description: Swagger3+knife4j Config** @author: ZhuMaoqiang* @date: 2022-03-18*/
@EnableOpenApi // 开启Swagger3
@Configuration
@Import(BeanValidatorPluginsConfiguration.class)
public class Swagger3Config {@Bean(value = "defaultApi")public Docket defaultApi() {Docket docket = new Docket(DocumentationType.OAS_30).apiInfo(apiInfo())//分组名称.groupName("默认分组").select()// 扫描所有Controller.paths(PathSelectors.any()).build().securitySchemes(securitySchemes()).securityContexts(securityContexts());return docket;}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("接口文档").description("接口文档 RESTful APIs").contact(new Contact("朱茂强", "", "896228072@qq.com")).version("1.0").build();}/*** Swagger 非全局Head参数(Token)配置*/private List<SecurityScheme> securitySchemes() {List<SecurityScheme> securitySchemes = new ArrayList<>();securitySchemes.add(new ApiKey("Authorization", "Authorization", "header"));return securitySchemes;}/*** 授权信息全局应用*/private List<SecurityContext> securityContexts() {List<SecurityContext> securityContexts = new ArrayList<>();securityContexts.add(SecurityContext.builder().securityReferences(defaultAuth()).forPaths(PathSelectors.any()).build());return securityContexts;}/*** Swagger 全局、无需重复输入的Head参数(Token)配置*/private List<SecurityReference> defaultAuth() {AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];authorizationScopes[0] = authorizationScope;List<SecurityReference> securityReferences = new ArrayList<>();securityReferences.add(new SecurityReference("Authorization", authorizationScopes));return securityReferences;}
}

配置到此就可以使用:http://ip:端口//swagger-ui/index.html 进行访问接口文档了。

3. 引入knife4j依赖,swagger的升级版

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

在配置完Swagger后引入此依赖就可以使用 http://ip:端口/doc.html访问接口文档。

有关knife4j的更多配置请查询官方文档:knife4j (xiaominfo.com)

SpringBoot 集成Swagger3+knife4j相关推荐

  1. springboot集成swagger3与knife4j

    springboot集成swagger3 swagger3的springboot启动器jar包 <!-- https://mvnrepository.com/artifact/io.spring ...

  2. SpringBoot集成swagger3(powernode CD2207)(内含教学视频+源代码)

    SpringBoot集成swagger3(powernode CD2207)(内含教学视频+源代码) 教学视频+源代码下载链接地址:https://download.csdn.net/download ...

  3. SpringBoot集成knife4j实现Swagger接口文档

    前言:如果你是后台开发,提供restful接口给前端,建议你使用Swagger3提供restful的接口文档自动生成和在线接口调试.knife4j是对Swagger进一步封装,其优化了API文档的UI ...

  4. SpringBoot教程(十六) | SpringBoot集成swagger(全网最全)

    一. 接口文档概述 swagger是当下比较流行的实时接口文文档生成工具.接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发 ...

  5. SpringBoot集成邮箱功能并使用Knife4j测试

    SpringBoot集成邮箱功能并使用Knife4j测试 哔哩哔哩链接:https://www.bilibili.com/video/BV1uA411N7cm 1.获取163或QQ邮箱授权码 163邮 ...

  6. Springboot集成knife4j,Failed to start bean ‘documentationPluginsBootstrapper‘;导致系统不能正常启动

    Springboot集成knife4j,Springboot更新到2.6启动报错Failed to start bean 'documentationPluginsBootstrapper'; nes ...

  7. SpringBoot集成Redis并使用Knife4j测试

    SpringBoot集成Redis并使用Knife4j测试 基于若依的ruoyi-vue前后端分离版本,若依官网:http://www.ruoyi.vip/ 项目目录结构 项目的目录结构如下: 1.新 ...

  8. Springboot集成knife4j

    Springboot集成knife4j 注:本文是 srpingboot + OCLA + knife4j 1. 添加依赖 1.1 父工程parent 的pom 文件中引入依赖 <knife4j ...

  9. SpringBoot集成Swagger2与Swagger3的区别

    SpringBoot集成Swagger2与Swagger3的区别 前言 一.pom文件中引入Swagger依赖 Swagger2 Swagger3 二.Swagger配置 Swagger2 Swagg ...

最新文章

  1. Windows下一键搭建redmine
  2. linux软中断优先级,Linux中软中断机制分析
  3. 部分手机配置信息及价格
  4. 程序员获取编程灵感的10 种方式
  5. 25.docker commit
  6. python字符串前缀
  7. 打开html文件显示undefined,undefined是什么?电脑网页出现undefined时如何解决?
  8. 【华为OD机试真题 JS】数字涂色
  9. 剪刀石头布(你出一个版)
  10. 用浏览器轻松录制音频、视频—— MediaRecorder API
  11. python之emoji表情处理
  12. 地理生物结业考_今年我初二,明天我地理生物结业考,但是我现在啥都不会,我应该怎么办?...
  13. 印象笔记如何分享链接_几步搞懂印象笔记的链接功能
  14. JAVA的getBytes()方法
  15. Java闲杂笔记摘抄
  16. 新浪顶级架构师保驾护航!国内首本大型分布式架构笔记浴火新生
  17. Opencv实现素描的坤坤打篮球
  18. [APIO2015] T1巴厘岛的雕塑
  19. Qt界面之侧边栏隐藏和滑出
  20. Linux Framebuffer驱动剖析之一—软件需求

热门文章

  1. AndroidStudio4.1 不报错,不爆红
  2. 博客移至https://huhu0706.github.io
  3. 蓝牙路由器是怎么回事?
  4. MySQL面试题大全(陆续更新)
  5. matplotlib绘制极坐标图 最全面总结
  6. 搭建树莓派 4B + intel movidius 神经元计算棒2代深度学习环境
  7. 计算机图形学——二维图形几何转换
  8. 美团面试全流程详解(一面 + 二面)
  9. QQ API设计说明书
  10. API勾取实现进程隐藏