【swagger2】Spring Boot 配置swagger2
说明:本文写作目的单纯是记录一次项目搭建,以便于以后查看。
开发工具:IDEA;操作系统:MacOS
文章目录
- 前言
- 一、引入依赖
- 二、修改配置文件
- 三.Docket编写
- 遇到的问题
前言
Swagger2 是为了方便生产中生成统一标准规范的API文档生成工具。既方便开发团队成员查看,也方便最后接口文档的生成。本文仅记录本人如何搭建,具体对于swagger的介绍网上有很多相关文章供学习参考。
一、引入依赖
我是spring cloud 的项目架构,在我common模块的pom文件中加入swagger的依赖,我其他的服务模块都会引入common模块,所以swagger的功能也会被其他服务模块给使用。
我使用的是3.0.0的版本,所以不需要引入springfox-swagger2和swagger2-ui,直接引入springfox-boot-starter即可
<!-- swager2 -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version>
</dependency>
二、修改配置文件
在服务模块的yaml文件中加入以下代码:
swagger:enabled: truetitle: 测试接口description: 描述测试接口version: 1.0.0contact:name: Ryan Renurl: email: xxx@qq.com package: com.program.test.myTestbase-path: /**exclude-path: /error, /ops/**spring: mvc:pathmatch: # 重要!否则会报错matching-strategy: ant_path_matcher
三.Docket编写
swagger 3.0的版本可以省略很多东西:
移除springfox-swagger2的依赖冲突
移除@EnableSwagger2注解
Docket可省略,也可自行配置
代码如下(示例):
@Configuration
public class SwaggerConfig {@Value(value = "${swagger.enabled}")private boolean swaggerEnabled;@Value(value = "${swagger.title}")private String swaggerTitle;@Value(value = "${swagger.description}")private String swaggerDescription;@Value(value = "${swagger.version}")private String swaggerVersion;@Value(value = "${swagger.package}")private String swaggerPackage;@Value(value = "${swagger.contact.name}")private String swaggerContactName;@Value(value = "${swagger.contact.url}")private String swaggerContactUrl;@Value(value = "${swagger.contact.email}")private String swaggerContactEmail;@Beanpublic Docket docket() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).enable(swaggerEnabled).select().apis(RequestHandlerSelectors.basePackage(swaggerPackage)).paths(PathSelectors.any()).build();}//构建api文档的详细信息函数private ApiInfo apiInfo() {return new ApiInfoBuilder()//页面标题.title(swaggerTitle)//创建人.contact(new Contact(swaggerContactName, swaggerContactUrl, swaggerContactEmail))//版本号.version(swaggerVersion)//描述.description(swaggerDescription).build();}
}
同时访问网页也发生了变化
http://localhost:port/swagger-ui/index.html
遇到的问题
- Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException:
问题原因:
SpringBoot更新至2.6.0,引发了这个bug。
解决方法:
在配置文件里加一条spring.mvc.pathmatch.matching-strategy=ant_path_matcher
可解决
参考文章:https://www.jianshu.com/p/322f20aef4e1
【swagger2】Spring Boot 配置swagger2相关推荐
- 从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建
从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建 本文简介 为什么使用Spring Boot 搭建怎样一个环境 开发环境 导入快速启动 ...
- Spring Boot 2.X - Spring Boot整合Swagger2(starter方式)
文章目录 Spring Boot 2.X - Spring Boot整合Swagger2(starter方式) 引入依赖 添加@EnableSwagger2Doc注解 创建实体类 创建Controll ...
- Spring Boot 2.0 配置图文教程第 2 章 Spring Boot 配置## 书信息 demo.book.name=[Spring Boot 2.x Core Action] demo.b
本章内容 1.自定义属性快速入门 2.外化配置 3.自动配置 4.自定义创建 Starter 组件 摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样 第 2 章 Spring B ...
- Spring Boot 配置元数据指南
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 遗失的拂晓 来源 | 公众号「锅外的大佬」 1. 概览 在编写 Spring Bo ...
- java多个数据库数据进行访问_通过Spring Boot配置动态数据源访问多个数据库的实现代码...
之前写过一篇博客<Spring+Mybatis+Mysql搭建分布式数据库访问框架>描述如何通过Spring+Mybatis配置动态数据源访问多个数据库.但是之前的方案有一些限制(原博客中 ...
- Spring Boot 配置随机数那些小技巧
转载自 Spring Boot 配置随机数那些小技巧 Spring Boot支持在系统加载的时候配置随机数. 添加config/random.properties文件,添加以下内容: #随机32位M ...
- 19年8月 字母哥 第三章 spring boot 配置原理实战 用热点公司网不行
第三章 spring boot 配置原理实战 3.1.结合配置加载讲解bean自动装配原理 3.2.详解YAML语法及占位符语法 3.3.获取自定义配置的两种实现方法 3.4.配置文件注入值数据校验 ...
- 在Spring boot 配置过滤器(filter)
在spring boot 配置servlet filter 逻辑上与配置spring 是一样的. 不过相比spring 更加简化配置的难度. 这里只需要两步 1 创建一个自定义顾虑器并继承spring ...
- mysql 多数据源访问_通过Spring Boot配置动态数据源访问多个数据库的实现代码
之前写过一篇博客<Spring+Mybatis+Mysql搭建分布式数据库访问框架>描述如何通过Spring+Mybatis配置动态数据源访问多个数据库.但是之前的方案有一些限制(原博客中 ...
最新文章
- linux内核添加c代码,如何从C代码加载Linux内核模块?
- putty 串口登录开发板
- linux下mysql授权_linux下mysql命令(用户授权、数据导入导出)
- 乐视手机权限开启方法
- vue java 使用AES 前后端加密解密
- Python爬虫,通过特定的函数来筛选标签
- 全球及中国无服务器应用程序行业应用调研与投资前景规划报告2022版
- DVWA--文件上传漏洞
- store前台数据过滤
- 线程间操作无效: 从不是创建控件“button2”的线程访问它
- Docker镜像仓库
- apscheduler -定时任务
- linux程序无法获取cpu资源,Linux系统编程获取系统的CPU资源
- 7007.svg用法
- sql 存储过程 并发测试_SQL单元测试模拟存储过程
- Redis脚本实现分布式锁
- 【DA】单侧T检验p值与双侧T检验p值的关系
- [附源码]Python计算机毕业设计Django的项目管理系统
- 【机器学习】阿里云天池竞赛——工业蒸汽量预测(1)
- 地铁译:Spark for python developers --- 搭建Spark虚拟环境1