Spring boot集成Swagger3
一、导入依赖
这里以springfox来使用:SpringFox是 spring 社区维护的一个项目(非官方),帮助使用者将 swagger2 集成到 Spring 中。常常用于 Spring 中帮助开发者生成文档,并可以轻松的在spring boot中使用。
swagger3只需要导入一个依赖:
<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>
二、基本使用
1.开始使用
在spring boot主类上标注@EnableOpenApi,浏览器访问http://localhost:8080/swagger-ui/即可访问到初始页面:
2.配置类的编写
@Configuration
public class SwaggerConfig {@Beanpublic Docket desertsApi(){return new Docket(DocumentationType.OAS_30).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.deserts.swagger.controller")).paths(PathSelectors.any()).build().groupName("desertsGroup").enable(true);}private ApiInfo apiInfo(){return new ApiInfoBuilder().title("Swagger3测试文档").description("文档描述信息").contact(new Contact("deserts", "#", "2569509245@qq.com")).version("1.0").build();}
}
对应配置的结果:
3.常用注解
swagger3的注解与swagger2相差很多,也兼容了swagger2的注解,区别如下:
标注在实体类上:
@Data
@ApiModel(value = "用户类",description = "用户")
public class User {@Schema(description = "用户名")private String username;@Schema(description = "密码")private String password;
}
标注在控制器上:
@RestController
@Api(tags = "用户信息处理")
public class HelloController {@GetMapping("/user")@Operation(summary = "获取用户信息")@ApiImplicitParams({@ApiImplicitParam(name = "username", value = "用户名"),@ApiImplicitParam(name = "password", value = "密码")})public User getUser(@RequestParam("username")String username, @RequestParam("password")String password){User user = new User();user.setUsername(username);user.setPassword(password);return user;}
}
这里的@Paramters和@Parameter注解竟然不生效,具体原因找了挺久也没有结果,有知道的朋友欢迎补充!
标注后的结果:
三、使用knife4j优化体验
1.导入依赖
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</version></dependency>
2.访问
直接访问http://localhost:8080/doc.html
导出文档:
这样真的舒服了:
四、参考博客
Swagger3 注解使用(Open API 3)
Swagger3配置
Spring boot集成Swagger3相关推荐
- Spring Boot 使用 Swagger3 生成 API 接口文档
前言 在之前的文章中,我们已经讲了如何利用 Spring Boot 来集成 Swagger2,详情可戳:Spring Boot 集成 Swagger2,构建强大的 API 文档.但其实 Swagger ...
- Spring Boot集成Swagger导入YApi@无界编程
接口APi开发现状 现在开发接口都要在类似YApi上写文档,这样方便不同的团队之间协作,同步更新接口,提高效率. 但是如果接口很多,你一个个手工在YApi去录入无疑效率很低. 如果是使用Spring ...
- spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...
本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...
- 6.3 Spring Boot集成mongodb开发
6.3 Spring Boot集成mongodb开发 本章我们通过SpringBoot集成mongodb,Java,Kotlin开发一个极简社区文章博客系统. 0 mongodb简介 Mongo 的主 ...
- springboot(十八):使用Spring Boot集成FastDFS
上篇文章介绍了如何使用Spring Boot上传文件,这篇文章我们介绍如何使用Spring Boot将文件上传到分布式文件系统FastDFS中. 这个项目会在上一个项目的基础上进行构建. 1.pom包 ...
- Spring Boot集成Hazelcast实现集群与分布式内存缓存
2019独角兽企业重金招聘Python工程师标准>>> Hazelcast是Hazelcast公司开源的一款分布式内存数据库产品,提供弹性可扩展.高性能的分布式内存计算.并通过提供诸 ...
- Spring Boot 集成 Swagger 生成 RESTful API 文档
原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...
- 【Java进阶】Spring Boot集成ES
目录 spring boot集成ES ElasticSearchConfig 测试文档的基本操作 Elasticsearch Clients 文档 spring boot集成ES Java REST ...
- Spring Boot集成Jasypt安全框架
Jasypt安全框架提供了Spring的集成,主要是实现 PlaceholderConfigurerSupport类或者其子类. 在Sring 3.1之后,则推荐使用PropertySourcesPl ...
最新文章
- 关于机器学习模型的可解释性算法!
- 热修复框架AndFix【源码阅读】
- oracle批量update数据_东方国信大数据面试真题
- linux内核那些事之mmap
- android 剩余,关于android:android-剩余部分
- 使用 jQuery Mobile 与 HTML5 开发 Web App (二) —— jQuery Mobile 基础
- 不懂Python装饰器?教程双手奉上!
- 给定奇数、横、竖、斜、总和相等python_第四章练习
- 李宏毅机器学习Homework1(代码简洁版)
- Vue开发工具dev-tools的安装与使用
- 杨辉三角相关性质以及组合数
- CGO 之 Dll调用
- IDEA 有个很牛逼的功能
- 3秒测试:组建一个网络,需要几个硬件设备搞定?
- C#语言实例源码系列-扫描局域网内的所有IP和端口
- HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
- 闲人闲谈之十二——关于工程项目报价综合业务实现
- 养兔场 网站上的个人介绍
- HTML5七夕情人节表白网页(结婚倒计时) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白
- Linux在当前文件夹下打开终端
热门文章
- IDEA中Maven项目中界面右边的Maven Projects中子项目出现灰色
- cdn加载插件和npm安装的差别_web开发:打字机效果插件Typed.js
- flutter能开发游戏吗_不用 H5,闲鱼 Flutter 如何玩转小游戏?-阿里云开发者社区...
- js如何将跨域打开的窗口放到最前面_程序员的强迫症-便捷打开常用网站
- python导出excel数据表中追加数据_python pandas在已存在的excel中追加数据
- 系统运行缓慢的问题定位步骤
- git 修改commit_结合IDEA与命令行,解决常用git操作与特殊情况的最佳实践
- 比较两个对象中全部属性值是否相等
- 将米转换为度(经纬度) 画圆上下多出来一些区域
- ORACLE(Linux版本)实时同步数据到MYSQL(Linux版本)解决方案:OGG