SpringBoot 集成Swagger3+knife4j
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相关推荐
- springboot集成swagger3与knife4j
springboot集成swagger3 swagger3的springboot启动器jar包 <!-- https://mvnrepository.com/artifact/io.spring ...
- SpringBoot集成swagger3(powernode CD2207)(内含教学视频+源代码)
SpringBoot集成swagger3(powernode CD2207)(内含教学视频+源代码) 教学视频+源代码下载链接地址:https://download.csdn.net/download ...
- SpringBoot集成knife4j实现Swagger接口文档
前言:如果你是后台开发,提供restful接口给前端,建议你使用Swagger3提供restful的接口文档自动生成和在线接口调试.knife4j是对Swagger进一步封装,其优化了API文档的UI ...
- SpringBoot教程(十六) | SpringBoot集成swagger(全网最全)
一. 接口文档概述 swagger是当下比较流行的实时接口文文档生成工具.接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发 ...
- SpringBoot集成邮箱功能并使用Knife4j测试
SpringBoot集成邮箱功能并使用Knife4j测试 哔哩哔哩链接:https://www.bilibili.com/video/BV1uA411N7cm 1.获取163或QQ邮箱授权码 163邮 ...
- Springboot集成knife4j,Failed to start bean ‘documentationPluginsBootstrapper‘;导致系统不能正常启动
Springboot集成knife4j,Springboot更新到2.6启动报错Failed to start bean 'documentationPluginsBootstrapper'; nes ...
- SpringBoot集成Redis并使用Knife4j测试
SpringBoot集成Redis并使用Knife4j测试 基于若依的ruoyi-vue前后端分离版本,若依官网:http://www.ruoyi.vip/ 项目目录结构 项目的目录结构如下: 1.新 ...
- Springboot集成knife4j
Springboot集成knife4j 注:本文是 srpingboot + OCLA + knife4j 1. 添加依赖 1.1 父工程parent 的pom 文件中引入依赖 <knife4j ...
- SpringBoot集成Swagger2与Swagger3的区别
SpringBoot集成Swagger2与Swagger3的区别 前言 一.pom文件中引入Swagger依赖 Swagger2 Swagger3 二.Swagger配置 Swagger2 Swagg ...
最新文章
- Windows下一键搭建redmine
- linux软中断优先级,Linux中软中断机制分析
- 部分手机配置信息及价格
- 程序员获取编程灵感的10 种方式
- 25.docker commit
- python字符串前缀
- 打开html文件显示undefined,undefined是什么?电脑网页出现undefined时如何解决?
- 【华为OD机试真题 JS】数字涂色
- 剪刀石头布(你出一个版)
- 用浏览器轻松录制音频、视频—— MediaRecorder API
- python之emoji表情处理
- 地理生物结业考_今年我初二,明天我地理生物结业考,但是我现在啥都不会,我应该怎么办?...
- 印象笔记如何分享链接_几步搞懂印象笔记的链接功能
- JAVA的getBytes()方法
- Java闲杂笔记摘抄
- 新浪顶级架构师保驾护航!国内首本大型分布式架构笔记浴火新生
- Opencv实现素描的坤坤打篮球
- [APIO2015] T1巴厘岛的雕塑
- Qt界面之侧边栏隐藏和滑出
- Linux Framebuffer驱动剖析之一—软件需求