spring-boot-starter-swagger迎新伙伴支持,加速更新进度(1.3.0.RELEASE)
从该starter创建至今收到了不少使用反馈,同时也有不错的童鞋申请加入一起维护。本篇先欢迎小火童鞋的加入及贡献,接下来具体说说本次的更新内容。
本次更新主要新增了下面两项内容:
- 新增API文档的host配置
swagger.host
- 新增对JSR-303注解的支持
同时我们也更新了使用文档,其中涵盖了1.3.0.RELEASE所有支持的配置功能。
更多关于starter的介绍可见如下内容。
简介
该项目主要利用Spring Boot的自动化配置特性来实现快速的将swagger2引入spring boot应用来生成API文档,简化原生使用swagger2的整合代码。
- 源码地址
- GitHub:https://github.com/dyc87112/spring-boot-starter-swagger
- 码云:https://gitee.com/didispace/spring-boot-starter-swagger
- 使用样例:https://github.com/dyc87112/swagger-starter-demo
- 我的博客:http://blog.didispace.com
- 我们社区:http://spring4all.com
小工具一枚,欢迎使用和Star支持,如使用过程中碰到问题,可以提出Issue,我会尽力完善该Starter
版本基础
- Spring Boot:1.5.x
- Swagger:2.7.x
如何使用
在该项目的帮助下,我们的Spring Boot可以轻松的引入swagger2,主需要做下面两个步骤:
- 在
pom.xml
中引入依赖:
<dependency>
<groupId>com.didispace</groupId>
<artifactId>spring-boot-starter-swagger</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>
- 在应用主类中增加
@EnableSwagger2Doc
注解
@EnableSwagger2Doc
@SpringBootApplication
public class Bootstrap {
public static void main(String[] args) {
SpringApplication.run(Bootstrap.class, args);
}
}
默认情况下就能产生所有当前Spring MVC加载的请求映射文档。
参数配置
更细致的配置内容参考如下:
配置示例
swagger.title=spring-boot-starter-swagger
swagger.description=Starter for swagger 2.x
swagger.version=1.3.0.RELEASE
swagger.license=Apache License, Version 2.0
swagger.licenseUrl=https://www.apache.org/licenses/LICENSE-2.0.html
swagger.termsOfServiceUrl=https://github.com/dyc87112/spring-boot-starter-swagger
swagger.contact.name=didi
swagger.contact.url=http://blog.didispace.com
swagger.contact.email=dyc87112@qq.com
swagger.base-package=com.didispace
swagger.base-path=/**
swagger.exclude-path=/error, /ops/**
配置说明
默认配置
- swagger.title=标题
- swagger.description=描述
- swagger.version=版本
- swagger.license=许可证
- swagger.licenseUrl=许可证URL
- swagger.termsOfServiceUrl=服务条款URL
- swagger.contact.name=维护人
- swagger.contact.url=维护人URL
- swagger.contact.email=维护人email
- swagger.base-package=swagger扫描的基础包,默认:全扫描
- swagger.base-path=需要处理的基础URL规则,默认:/**
- swagger.exclude-path=需要排除的URL规则,默认:空
- swagger.host=文档的host信息,默认:空
host属性从1.3.0.RELEASE开始支持
Path规则说明
swagger.base-path
和 swagger.exclude-path
使用ANT规则配置。
我们可以使用 swagger.base-path
来指定所有需要生成文档的请求路径基础规则,然后再利用 swagger.exclude-path
来剔除部分我们不需要的。
比如,通常我们可以这样设置:
management.context-path=/ops
swagger.base-path=/**
swagger.exclude-path=/ops/**, /error
上面的设置将解析所有除了 /ops/
开始以及spring boot自带 /error
请求路径。
其中, exclude-path
可以配合 management.context-path=/ops
设置的spring boot actuator的context-path来排除所有监控端点。
分组配置
当我们一个项目的API非常多的时候,我们希望对API文档实现分组。从1.2.0.RELEASE开始,将支持分组配置功能。
具体配置内容如下:
- swagger.docket.<name>.title=标题
- swagger.docket.<name>.description=描述
- swagger.docket.<name>.version=版本
- swagger.docket.<name>.license=许可证
- swagger.docket.<name>.licenseUrl=许可证URL
- swagger.docket.<name>.termsOfServiceUrl=服务条款URL
- swagger.docket.<name>.contact.name=维护人
- swagger.docket.<name>.contact.url=维护人URL
- swagger.docket.<name>.contact.email=维护人email
- swagger.docket.<name>.base-package=swagger扫描的基础包,默认:全扫描
- swagger.docket.<name>.base-path=需要处理的基础URL规则,默认:/**
- swagger.docket.<name>.exclude-path=需要排除的URL规则,默认:空
说明: <name>
为swagger文档的分组名称,同一个项目中可以配置多个分组,用来划分不同的API文档。
分组配置示例
swagger.docket.aaa.title=group-a
swagger.docket.aaa.description=Starter for swagger 2.x
swagger.docket.aaa.version=1.3.0.RELEASE
swagger.docket.aaa.termsOfServiceUrl=https://gitee.com/didispace/spring-boot-starter-swagger
swagger.docket.aaa.contact.name=zhaiyongchao
swagger.docket.aaa.contact.url=http://spring4all.com/
swagger.docket.aaa.contact.email=didi@potatomato.club
swagger.docket.aaa.excludePath=/ops/**
swagger.docket.bbb.title=group-bbb
swagger.docket.bbb.basePackage=com.yonghui
说明:默认配置与分组配置可以一起使用。在分组配置中没有配置的内容将使用默认配置替代,所以默认配置可以作为分组配置公共部分属性的配置。
JSR-303校验注解支持
支持对JSR-303校验注解的展示,如下图所示:
目前共支持以下几个注解:
@NotNull
@Max、@Min
@Size
@Pattern
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- mongodb的CRUD操作详解2-find
- 物联网云智能开发—MosQuitto服务器的安装 测试 订阅&发布及加密教程
- MongoDB的CRUD操作讲解-3-update&remove
- python数据结构
- MongoDB的CRUD操作讲解-1-insert
- MongoDB入门
- 算法—判断字符串是否为IP地址
- 博客整体风格更改
- centos6.6下安装MongoDB3.x
- Goland 中配置 go-lint 代码检查
- JetBrains注册码计算(IntelliJ IDEA 15.0注册码激活)
- Java文本框内文字显示不同颜色、字号等属性【函数调用一键实现】
- PLSQL-sql操作&判断循环
- Python 技术篇-用PIL库实现彩色图片转化为黑白图片
- PLSQL-游标