使用Swagger3去简化以前Swagger2的配置

引入依赖

        <!-- swagger --><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency><!-- knife4j导出swagger文档 --><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</version></dependency>

配置类

package com.tgpms.config;import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
import springfox.documentation.builders.*;
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.Collections;
import java.util.List;/*** swagger3 配置* @author jiangli* @since 2021/1/22 10:04*/
@Configuration
@EnableKnife4j  // 访问路径ip:port/doc.html
public class Swagger3Config {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.OAS_30).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).paths(PathSelectors.any()).build()
//                .globalRequestParameters(getGlobalRequestParameters()).globalResponses(HttpMethod.GET, getGlobalResponseMessage()).globalResponses(HttpMethod.POST, getGlobalResponseMessage()).globalResponses(HttpMethod.DELETE, getGlobalResponseMessage()).globalResponses(HttpMethod.PUT, getGlobalResponseMessage())//添加登录认证.securitySchemes(securitySchemes()).securityContexts(securityContexts());}/*** 构建 api文档的详细信息函数,注意这里的注解引用的是哪个*/private ApiInfo apiInfo() {// 获取工程名称String projectName = System.getProperty("user.dir");return new ApiInfoBuilder().title(projectName.substring(projectName.lastIndexOf("\\") + 1) + " API接口文档").contact(new Contact("jl", null, "31346337@qq.com")).version("1.0").description("API文档").build();}//    /**
//     * 生成全局通用参数,按需设置
//     */
//    private List<RequestParameter> getGlobalRequestParameters() {
//        List<RequestParameter> parameters = new ArrayList<>();
//        parameters.add(new RequestParameterBuilder()
//                .name("tfToken")
//                .description("同飞令牌")
//                .required(false)
//                .in(ParameterType.HEADER)
//                .build());
//        return parameters;
//    }/*** 生成通用响应信息*/private List<Response> getGlobalResponseMessage() {List<Response> responseList = new ArrayList<>();responseList.add(new ResponseBuilder().code("404").description("找不到资源").build());return responseList;}/*** 设置授权信息*/private List<SecurityScheme> securitySchemes() {ApiKey apiKey = new ApiKey("tfToken", "token", "header");return Collections.singletonList(apiKey);}/*** 授权信息全局应用*/private List<SecurityContext> securityContexts() {return Collections.singletonList(SecurityContext.builder().securityReferences(Collections.singletonList(new SecurityReference("tfToken", new AuthorizationScope[]{new AuthorizationScope("global", "accessEverything")}))).build());}
}

访问swagger  http://localhost:8080/swagger-ui/#/

访问knife4j  http://localhost:8080/doc.html

可以设置全局header token 及API文档导出

Swagger3配置相关推荐

  1. Swagger系列——Swagger3配置

    Swagger系列--Swagger3配置 什么是 Swagger? 依赖引入 springfox引入方式 knife4j引入方式 引入美化bootstrap-UI 详细配置 swagger资源访问路 ...

  2. Spring Boot整合Swagger3配置全局Token

    应用背景:Swagger配置全局Token的目的在于调用真正接口前会被相关拦截器拦截,拦截器会校验此次访问是否合法,这时配置全局Token的作用就显现出来了,全局Token可以存储所有接口访问时的令牌 ...

  3. SpringBoot2.6.5+Swagger3配置

    文章目录 SpringBoot2.6.5+Swagger3 1. 添加Swagger3 pom依赖 2. 添加yml/properties依赖 3. 新建SwaggerConfig配置类 4. 在启动 ...

  4. Spring boot集成Swagger3

    一.导入依赖 这里以springfox来使用:SpringFox是 spring 社区维护的一个项目(非官方),帮助使用者将 swagger2 集成到 Spring 中.常常用于 Spring 中帮助 ...

  5. swagger配置使用及安全方案

    1.swagger的依赖 pom依赖,这是针对swagger2的 <dependency><groupId>io.springfox</groupId><ar ...

  6. springboot集成配置swaggerUI

    1.使用swagger的原因 手写Api文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不明确 不能直接在线测试接口,通常需要使用工具,比如pos ...

  7. Swagger3 API接口文档规范课程(Java1234)(内含教学视频+源代码)

    Swagger3 API接口文档规范课程(Java1234)(内含教学视频+源代码) 教学视频+源代码下载链接地址:https://download.csdn.net/download/weixin_ ...

  8. Swagger2与Swagger3的演进关系(区别)

    一.引入 swagger2需要引入2个jar包,swagger3只需要一个 swagger2 引用两个包 <dependency>     <groupId>io.spring ...

  9. Springboot 整合Swagger3 和 Knife4j

      前后端分离的项目,接口文档的存在十分重要.与手动编写接口文档不同,swagger是一个自动生成接口文档的工具,在需求不断变更的环境下,手动编写文档的效率实在太低.与swagger2相比新版的swa ...

最新文章

  1. WebService简单验证:SoapHeader
  2. LNMP架构介绍、MySQL安装、PHP安装、Nginx介绍
  3. 【JZOJ3598】【CQOI2014】数三角形
  4. Fiddler (二) : Script 的 用法
  5. ajax提交整个form表单
  6. DTC精彩回顾—黄东旭《TiDB数据驱动的企业智能化转型新方向》丨PPT视频
  7. ACL'21 | 对比学习论文一句话总结
  8. 递归删除评论php,php如何递归删除文件
  9. iOS开发中的火星坐标系及各种坐标系转换算法
  10. windows开机后一键启动应用程序
  11. java+动态修改prooper_Spring Aop 权限开发(Java后台管理权限) (完整版)
  12. Windows服务器tomcat日志拆分(cronolog )
  13. IT30知识星球—工作报告7步曲
  14. Chinese-LLaMA-Alpaca:优秀的开源中文语言模型预训练工具
  15. 学计算机的怎样提升打字速度,想提高打字速度吗?
  16. C++内码转换的三种方法
  17. PPP协议和MAC地址、IP地址及ARP协议三者之间的关系(3.2)
  18. 泰萌主今天怎么显示服务器异常,泰萌主网络请求错误怎么办?泰萌主怎么看不了了?...
  19. 霍尔效应传感器的典型应用场合解析
  20. VS2017+qt 缺少根元素

热门文章

  1. teamlab什么意思_teamLab火爆朋友圈,连汪涵太太都来了两次,这个展览有什么魔力...
  2. python3 字典dict的综合运用(这是一段意外写出来的程序代码)
  3. list转Array
  4. Linxu 查看磁盘空间命令
  5. 【BZOJ3609】 【Heoi2014】人人尽说江南好【贪心】
  6. java 文件打包zip_java 多个文件打包zip
  7. python代码画小动物大全_Python画小猪佩奇肖像,小迷妹被萌哭了!附源码
  8. 几种常用容器的迭代器类型
  9. 印象笔记如何设置默认笔记本
  10. 国产蓝牙耳机有哪些?音质好的国产品牌耳机排行榜