spring-boot-starter-swagger 1.3.0.RELEASE:新增对JSR-303的支持和host的配置

简介

该项目主要利用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-pathswagger.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@didispace.com
swagger.docket.aaa.excludePath=/ops/**

swagger.docket.bbb.title=group-bbb
swagger.docket.bbb.basePackage=com.yonghui

说明:默认配置与分组配置可以一起使用。在分组配置中没有配置的内容将使用默认配置替代,所以默认配置可以作为分组配置公共部分属性的配置。

JSR-303校验注解支持

支持对JSR-303校验注解的展示,如下图所示:

JSR-303校验展示

目前共支持以下几个注解:

  • @NotNull
  • @Max、@Min
  • @Size
  • @Pattern

贡献者

  • 程序猿DD-翟永超
  • 小火

money.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1353. 最多可以参加的会议数目(排序+贪心,优先队列,难)

文章目录1. 题目2. 解题2.1 错误解2.2 超时解2.3 通过解2.4 大佬解1. 题目 给你一个数组 events&#xff0c;其中 events[i] [startDayi, endDayi] &#xff0c;表示会议 i 开始于 startDayi &#xff0c;结束于 endDayi 。 你可以在满足 startDayi < d < endDayi 中的…

深圳率先立法:支持L3自动驾驶上路,凡公开道路皆可行

文 | 万博 发自 副驾寺源 | 智能车参考全国第一个开放L3级自动驾驶的城市&#xff0c;就要来了。不是自动驾驶第一城的广州&#xff0c;也不是拥有全球首个高级别自动驾驶示范区的北京&#xff0c;最先吃螃蟹的&#xff0c;是深圳。根据深圳人大常委会发布的2022年立法计划&…

在Pivotal Web Service上发布Spring Boot应用

Hello PWS&#xff08;Pivotal Web Service&#xff09;&#xff0c;由 Pivotal 公司提供的 &#xff0c;可以运行Java, Grails, Play, Spring, Node.js, Ruby on Rails, Sinatra or Go 等Web应用的服务。本文将介绍一个 Hello World 级别的 Spring Boot 应用发布到 PWS 的过程…

CVPR 2022 | FAIR提出MaskFeat:自监督视觉预训练新方法!灵感之一来自16年前CVPR论文...

编 | 小咸鱼 好困源 | 新智元【导读】近日&#xff0c;北大校友、约翰霍普金斯大学博士生提出了一种新的方法&#xff1a;MaskFeat&#xff0c;摘下12个SOTA&#xff01;这是一个能用于视频模型的自监督预训练方法&#xff1a;掩码特征预测&#xff08;MaskFeat&#xff09;。论…

简化Swagger使用的自制Starter:spring-boot-starter-swagger,欢迎使用和吐槽

项目简介 该项目主要利用Spring Boot的自动化配置特性来实现快速的将swagger2引入spring boot应用来生成API文档&#xff0c;简化原生使用swagger2的整合代码。 GitHub&#xff1a;https://github.com/dyc87112/spring-boot-starter-swagger码云&#xff1a;http://git.oschi…

LeetCode 1354. 多次求和构造目标数组(优先队列+逆向思考)

1. 题目 给你一个整数数组 target 。一开始&#xff0c;你有一个数组 A &#xff0c;它的所有元素均为 1 &#xff0c;你可以执行以下操作&#xff1a; 令 x 为你数组里所有元素的和选择满足 0 < i < target.size 的任意下标 i &#xff0c;并让 A 数组里下标为 i 处的…

Spring Boot自动化配置的利弊及解决之道

Spring Boot中的双刃剑&#xff1a;自动化配置 在之前发布的Spring Boot基础教程系列文章中&#xff0c;我们通过各种功能性示例体验了Spring Boot的自动化配置给我们所带来的超便利的新开发方式。但是&#xff0c;在一些情况下Spring Boot的自动化配置也会给我们惹来不少的麻…

人在ACL2022,无人戴口罩我有些慌

文 | 小伟大家好&#xff0c;我是阿伟 (不是杰哥不要的阿伟)&#xff0c;NLP小萌新&#xff0c;好久不见&#xff01;之前忙着赶ddl一直没时间写文&#xff0c;趁着这次去都柏林参加了人生第一次线下ACL会议的机会&#xff0c;把自己的一些体验分享给大家。22号早上到了都柏林发…

剑指Offer - 面试题32 - I. 从上到下打印二叉树(按层BFS遍历,queue)

1. 题目 从上到下打印出二叉树的每个节点&#xff0c;同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回&#xff1a; [3,9,20,15,7]提示&#xff1a; 节点总数 < 1000来源&#xff1a;力扣&#xff08;LeetCode…

Spring Boot中使用Actuator的/info端点输出Git版本信息

对于Spring Boot的Actuator模块相信大家已经不陌生了&#xff0c;尤其对于其中的/health、/metrics等强大端点已经不陌生&#xff08;如您还不了解Actuator模块&#xff0c;建议先阅读《Spring Boot Actuator监控端点小结》&#xff09;。但是&#xff0c;其中还有一个比较特殊…

管培生走下神坛,“高管捷径”破灭

文 | 翟元元源 | Tech星球曾经令打工人羡慕不已的管培生光环&#xff0c;正逐渐失色。近日&#xff0c;一位叮咚买菜的管培生在某社交平台爆料&#xff0c;管培生这一带有职业光环的角色有着不为人知的B面。“叮咚买菜管培生&#xff0c;别去&#xff0c;快跑。每天12小时以上体…

剑指Offer - 面试题32 - III. 从上到下打印二叉树 III(BFS,queue+stack)

1. 题目 请实现一个函数按照之字形顺序打印二叉树&#xff0c; 即第一行按照从左到右的顺序打印&#xff0c; 第二层按照从右到左的顺序打印&#xff0c; 第三行再按照从左到右的顺序打印&#xff0c;其他行以此类推。 例如: 给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/…

互联网行业,回暖了?

源 | 36氪经过这一年的调整&#xff0c;中国互联网企业或许才算得上真正成熟起来。有统计显示&#xff0c;目前中国互联网公司股价已经缓慢升至 3 个月以来的新高。反映中概股表现的纳斯达克中国金龙指数在近期连涨三天&#xff0c;自5月11日以来更是累计上涨逾40%。利好的信号…

使用Spring Boot Actuator、Jolokia和Grafana实现准实时监控

由于最近在做监控方面的工作&#xff0c;因此也读了不少相关的经验分享。其中有这样一篇文章总结了一些基于Spring Boot的监控方案&#xff0c;因此翻译了一下&#xff0c;希望可以对大家有所帮助。 原文&#xff1a;Near real-time monitoring charts with Spring Boot Actuat…

剑指Offer - 面试题33. 二叉搜索树的后序遍历序列(递归)

1. 题目 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true&#xff0c;否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树&#xff1a;5/ \2 6/ \1 3 示例 1&#xff1a; 输入: [1,6,3,2,5]…

Geoffrey Hinton 最新访谈:不出五年,我们就会破解大脑的运作机制,但不是通过反向传播...

文 | Geoffrey Hinton整理 | 李梅、黄楠编 | 陈彩娴过去十年&#xff0c;AI 在计算机视觉、语音识别、机器翻译、机器人、医学、计算生物学、蛋白质折叠预测等等领域取得了一个又一个突破&#xff0c;而这些突破的背后&#xff0c;均离不开深度学习。那么&#xff0c;深度学习起…

Spring Boot 1.5.x新特性:动态修改日志级别

前天Spring Boot 1.5终于迎来了第一个RELEASE版本&#xff1a;1.5.0&#xff0c;但是由于一个编译依赖问题在第二天直接连击到了1.5.1。该版本的发布包含了超过320位贡献者的奉献、10000多次的代码提交。 每次Spring Boot版本更新所带来的新特性都是我们每个用户特别关注的。虽…

基于sklearn的LogisticRegression鸢尾花多类分类实践

文章目录1. 问题描述2. 数据介绍2.1 数据描述2.2 数据2.3 数据可视化3. 模型选择3.1 固有的多类分类器3.2 1对多的多类分类器3.3 OneVsRestClassifier3.4 OneVsOneClassifier4. 结果分析5. 附完整代码鸢尾花&#xff08;拼音&#xff1a;yuān wěi huā&#xff09;又名&#…

CMU 提出全新 GAN 结构,GAN 自此迈入预训练大军!

文&#xff5c;林锐众所周知&#xff0c;现在 GAN 的应用是越来越宽泛了&#xff0c;尤其是在 CV 领域。不仅可以调个接口生成新头像图一乐&#xff0c;也可以用 GAN 做数据增强让模型更加健壮。▲嘉然你带我走吧嘉然&#xff01;在CV领域&#xff0c;不像分类、目标检测等任务…

在传统Spring应用中使用spring-boot-actuator模块提供监控端点

在之前发布的《Spring Boot Actuator监控端点小结》一文中&#xff0c;我们介绍了Spring Boot Actuator模块为应用提供的强大监控能力。在Spring Boot应用中&#xff0c;我们只需要简单的引入spring-boot-starter-actuator依赖就能为应用添加各种有用的监控端点。其中&#xff…