swagger2是一款用于前后端分离的api文档生成工具,话不多说直接上教程。

1.第一步就是导入依赖;版本问题大家不要在意,会教大家一个忽略版本变化的方式。

<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency>

2.编写一个helloController

@RestController
public class HelloController {@RequestMapping("/hello")public String Hello() {return "hello";}
}

3.编写配置类,重点来了,忽略版本的方式就是看源码。其实里边啥也不用配就可以访问http://localhost:8080/swagger-ui.html 来查看了。简单测试一下发现可以访问继续配置。

@Configuration  //标记这是一个配置类
@EnableSwagger2 //开启swagger2
public class Swagger2 {}

我们点进去docket发现这些东西,再看一下ApiInfo里都写了什么,点进去就是Ctrl加鼠标左键

这就是默认的ApiInfo配置,那么这个DEFAULT_CONTACT,是啥呢,我们看这个类的最上边,

发现这个DEFAULT_CONTACT是这样配置的

配置扫描包,可以看到有这些配置,paths下边的就是一个过滤的根据情况自己配置即可,一般配置any();.enable()就是是否启动一般为true就可以,默认值为true,无需配置,这个一般用在生产环境和发布环境,在配置文件中配置值,然后引用

//basePackage() 指定要扫描的包//any() 扫描全部//none() 不扫描//withClassAnnotation() 扫描类上的注解,参数是一个注解的反射对象 (Controller.class)//withMethodAnnotation() 扫描方法上的注解 (GetMapping.class)

下边我编辑一个完整配置

@Configuration
@EnableSwagger2
public class Swagger2 {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.gao.controller")).paths(PathSelectors.any()) //可以根据url路径设置哪些请求加入文档,忽略哪些请求.build();}public static final Contact DEFAULT_CONTACT = new Contact("xxx", "https://baid.com/", "xxx@qq.com");private ApiInfo apiInfo() {return new ApiInfoBuilder().title("API文档") //设置文档的标题.description("如有疑问请联系QQ") //设置文档的描述
.termsOfServiceUrl("www.baidu.com")//这个就是一个团队服务的网站,如果有就写,没有就随便写一个,写个空字符串也行.contact(DEFAULT_CONTACT) //作者信息.version("1.0") //版本.build();}
}

完整测试一下: 可以看到现在下边的实体类不见了,只要我们的接口中返回值存在实体类就会在swagger2中出现

简单编写一个方法在HelloController中,测试,models出现,

@ApiModel("用户实体类")对实体类注解就在文档中出现,

@ApiModelProperty("昵称")这个注解是对字段用的,

@ApiOperation("hello方法"):描述一个类的一个方法,是在controller类中定义的方法上使用

@ApiParam("用户名"):描述参数的作用

@ApiError :发生错误返回的信息

@PostMapping("/user")private User user(){return new User();}

下边介绍一下swagger2最强大的功能在线测试,我们可以看到try it out 点击然后传入需要的参数,然后excute执行,就可以在线测试

如有错误请评论

swagger2 使用教程相关推荐

  1. Swagger2 简明教程

    Swagger2 简明教程 一.什么是swagger 二.配置swagger 三.Swagger常用注解 四.导出swagger接口文档 一.什么是swagger Swagger 是一个规范和完整的框 ...

  2. Swagger2详细教程

    目录 前言: 添加依赖: 启用Swagger2: 快速启动: 访问地址: Swagger配置类: 注解: 注解@Api: 注解@ApiOperation: 注解@ApiIgnore: 注解@ApiMo ...

  3. SpringBoot 使用Swagger2打造在线接口文档(附源代码)

    点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 精彩内容 java实战练习项目教程 2018微服务资源springboot.s ...

  4. Java全栈体系路线(总结不易,持续更新中)

    文章目录 Java全栈工程师 <font color=orange>Java基础 基础语法 面向对象 工具类 集合框架 序列化 反射机制 注解 文件处理 设计模式 视频教程 文档教程 练习 ...

  5. Springboot swagger2教程

    swagger2教程 swagger,中文"拽"的意思.它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试.另外swagger很容 ...

  6. Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | didispace.com/spring-boot-learni ...

  7. SpringBoot整合Swagger2教程

    SpringBoot整合Swagger2教程 环境说明 springboot 版本 2.4.4 swagger2 版本 2.9.2 工程准备 创建Springboot工程.这一步不会的可先去Hello ...

  8. Swagger2简单使用教程

    Swagger2简单使用教程 1.简介 ​ Swagger是为了解决企业中接口(api)中定义统一标准规范的文档生成工具.很多采用前后端分离的模式,前端只负责调用接口,进行渲染,前端和后端的唯一联系, ...

  9. 企业级SpringBoot教程(十一)springboot集成swagger2,构建Restful API

    swagger,中文"拽"的意思.它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试.另外swagger很容易构建restful风 ...

最新文章

  1. 软件测试培训教程:pytest与unittest区别
  2. Imagemagick常用指令
  3. web主题公园版权信息破解:script.js加密文件
  4. java 对外提供接口_Java服务器对外提供接口以及Android端向服务器请求数据
  5. 终端服务器有多种运行模式,云终端的三种工作模式你都知道的吗
  6. 汇编语言EQU伪指令
  7. STM32F7xx —— Timer
  8. java 僵尸进程_Linux 僵尸进程
  9. c++ 读写锁_一篇文章弄懂MySQL锁机制
  10. 应聘互联网公司的简历应该是怎么样的?(转载)
  11. 2023南京财经大学计算机考研信息汇总
  12. Unity 接入有道智云AI - 文档翻译
  13. 国内首台商用人形双足机器人发展史
  14. windows基本命令
  15. EasyExcel第一次导出文件耗时长的问题
  16. 虚拟机怎么安装gho系统
  17. 2004-2019年地级市固定资产投资额(万元)
  18. 宠辱不惊 闲看庭前花开花落
  19. 教你一键ghost系统还原方法
  20. 强烈推荐阅读:分享Supergiant美术师的3D游戏模型的创作流程,非常详细!

热门文章

  1. python中幂运算_python的幂运算
  2. 投机者怎样于2019年3月18日前后的证券市场中利用底部放量实现程序化交易
  3. 绿联扩展坞拆解_拆解报告:UGREEN 绿联 3A1C 四口多功能扩展坞(带 SD 卡槽版)...
  4. kerberos 部署
  5. 电商干货!1000万烧出来的高点击率钻展创意图十大原则(营销人性)
  6. 数据结构课程设计报告——Huffman编码
  7. LabVIEW与MATLAB联合编程之使用dll库文件连接
  8. 游戏服务器中pvp、pve、rppvp、ffa-pvp的含义
  9. 白兵机器人怎样连接_面部识别+App互动,UBTECH 优必选 星球大战系列 智能语音白兵机器人...
  10. 5招在不添加内存、显卡、ssd前提下有效提升windows系统pc性能