一、导入依赖

这里以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相关推荐

  1. Spring Boot 使用 Swagger3 生成 API 接口文档

    前言 在之前的文章中,我们已经讲了如何利用 Spring Boot 来集成 Swagger2,详情可戳:Spring Boot 集成 Swagger2,构建强大的 API 文档.但其实 Swagger ...

  2. Spring Boot集成Swagger导入YApi@无界编程

    接口APi开发现状 现在开发接口都要在类似YApi上写文档,这样方便不同的团队之间协作,同步更新接口,提高效率. 但是如果接口很多,你一个个手工在YApi去录入无疑效率很低. 如果是使用Spring ...

  3. spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...

    本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...

  4. 6.3 Spring Boot集成mongodb开发

    6.3 Spring Boot集成mongodb开发 本章我们通过SpringBoot集成mongodb,Java,Kotlin开发一个极简社区文章博客系统. 0 mongodb简介 Mongo 的主 ...

  5. springboot(十八):使用Spring Boot集成FastDFS

    上篇文章介绍了如何使用Spring Boot上传文件,这篇文章我们介绍如何使用Spring Boot将文件上传到分布式文件系统FastDFS中. 这个项目会在上一个项目的基础上进行构建. 1.pom包 ...

  6. Spring Boot集成Hazelcast实现集群与分布式内存缓存

    2019独角兽企业重金招聘Python工程师标准>>> Hazelcast是Hazelcast公司开源的一款分布式内存数据库产品,提供弹性可扩展.高性能的分布式内存计算.并通过提供诸 ...

  7. Spring Boot 集成 Swagger 生成 RESTful API 文档

    原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...

  8. 【Java进阶】Spring Boot集成ES

    目录 spring boot集成ES ElasticSearchConfig 测试文档的基本操作 Elasticsearch Clients 文档 spring boot集成ES Java REST ...

  9. Spring Boot集成Jasypt安全框架

    Jasypt安全框架提供了Spring的集成,主要是实现 PlaceholderConfigurerSupport类或者其子类. 在Sring 3.1之后,则推荐使用PropertySourcesPl ...

最新文章

  1. 关于机器学习模型的可解释性算法!
  2. 热修复框架AndFix【源码阅读】
  3. oracle批量update数据_东方国信大数据面试真题
  4. linux内核那些事之mmap
  5. android 剩余,关于android:android-剩余部分
  6. 使用 jQuery Mobile 与 HTML5 开发 Web App (二) —— jQuery Mobile 基础
  7. 不懂Python装饰器?教程双手奉上!
  8. 给定奇数、横、竖、斜、总和相等python_第四章练习
  9. 李宏毅机器学习Homework1(代码简洁版)
  10. Vue开发工具dev-tools的安装与使用
  11. 杨辉三角相关性质以及组合数
  12. CGO 之 Dll调用
  13. IDEA 有个很牛逼的功能
  14. 3秒测试:组建一个网络,需要几个硬件设备搞定?
  15. C#语言实例源码系列-扫描局域网内的所有IP和端口
  16. HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
  17. 闲人闲谈之十二——关于工程项目报价综合业务实现
  18. 养兔场 网站上的个人介绍
  19. HTML5七夕情人节表白网页(结婚倒计时) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白
  20. Linux在当前文件夹下打开终端

热门文章

  1. IDEA中Maven项目中界面右边的Maven Projects中子项目出现灰色
  2. cdn加载插件和npm安装的差别_web开发:打字机效果插件Typed.js
  3. flutter能开发游戏吗_不用 H5,闲鱼 Flutter 如何玩转小游戏?-阿里云开发者社区...
  4. js如何将跨域打开的窗口放到最前面_程序员的强迫症-便捷打开常用网站
  5. python导出excel数据表中追加数据_python pandas在已存在的excel中追加数据
  6. 系统运行缓慢的问题定位步骤
  7. git 修改commit_结合IDEA与命令行,解决常用git操作与特殊情况的最佳实践
  8. 比较两个对象中全部属性值是否相等
  9. 将米转换为度(经纬度) 画圆上下多出来一些区域
  10. ORACLE(Linux版本)实时同步数据到MYSQL(Linux版本)解决方案:OGG