六、springboot整合swagger

简介

swagger 提供最强大,最易用的工具,以充分利用OpenAPI规范。

官网 : https://swagger.io/

准备工作

  • pom.xml jar引入: <swagger.version>2.9.2</swagger.version>
     <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>${swagger.version}</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>${swagger.version}</version></dependency>

目的

之前使用swagger都是直接在类,方法,实体上写api引入的参数,这给人一种代码很不清爽的感觉,所以采用yaml文件编辑的模式,是代码看着更简单。

项目结构

  • 1.创建SwaggerConfig类
package com.honghh.bootfirst.config;import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;/*** ClassName: SwaggerConfig* Description:** @author honghh* @date 2019/02/20 14:28*/
@Configuration
@EnableSwagger2
public class SwaggerConfig{@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()//加了ApiOperation注解的类,生成接口文档.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//包下的类,生成接口文档//.apis(RequestHandlerSelectors.basePackage("com.honghh.bootfirst.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("boot-demo").description("boot-demo文档").termsOfServiceUrl("http://www.boot-demo.cn").version("1.0.0").build();}}
  • 2.引入swagger展示层代码,代码我将上传到码云 https://gitee.com/honghh/boot-demo.git
  • 3.配置yaml文件
#必要字段!Swagger规范版本,必须填2.0,否则该YAML将不能用于Swagger其他组件
swagger: '2.0'
#必要字段!描述API接口信息的元数据
info:#接口文档的描述description: swagger说明文档,让一切都变得如此简单。#版本号version: 1.0.0#接口标题title: boot-demo
#Swagger会提供测试用例,host指定测试时的主机名,如果没有指定就是当前主机,可以指定端口.
host: localhost:8080
#定义的api的前缀,必须已/开头,测试用例的主机则为:host+bashPath
#basePath: /boot-demo#指定调用接口的协议,必须是:"http", "https", "ws", "wss".默认是http.-表示是个数组元素,即schemes接受一个数组参数
schemes:- http- https#对应与http协议头request的Accept,调用者可接受类型,默认是*/*,定义的类型必须是http协议定义的 Mime Types,RestfulAPI一般定义成application/json
#这两个是对所有接口的全局设置,在细化的接口中是还可以对应这两个属性来覆盖全局属性
produces:- application/json#定义接口数据
paths:/myInfo:#必要字段!定义HTTP操作方法,必须是http协议定义的方法get:tags:- MyInfo 用户信息#接口概要summary: 用户信息#接口描述description: 查询出所有用户的所有信息,用户名,别名parameters:- name: iddescription: 用户IDin: querytype: integerrequired: true#返回值描述,必要自动responses:#返回的http状态码200:description: 所有用户信息或者用户的集合信息#描述返回值schema:#返回值格式,可选的有array,integer,string,boolean$ref: '#/definitions/myInfo'#定义数据模型
definitions:R:type: objectproperties:code:description: 状态码 0:成功  非0:失败type: integerformat: int32msg:description: 失败原因type: stringmyInfo:type: objectproperties:id:description: IDtype: integerformat: int32age:description: 年龄type: integername:description: 姓名type: string

4.启动项目,输入:http://localhost:8080/swagger/index.html 运行如图


有关yaml编写的规范以及字段的意义,这里我就不一一说明,参考上面yaml文件中的注释,或参考下面文章,再不然就自行百度

参考文献

  • Swagger编写API文档的YAML中文示例 https://blog.csdn.net/u010466329/article/details/78522992

  • YAML、YML在线编辑器(格式化校验)
    http://www.bejson.com/validators/yaml_editor/

六、springboot整合swagger相关推荐

  1. Springboot整合swagger指南

    Springboot整合swagger指南 1. 安装使用 1.1 下载依赖 <dependency><groupId>io.springfox</groupId> ...

  2. 解决高版本SpringBoot整合swagger时启动报错:Failed to start bean ‘documentationPluginsBootstrapper‘ 问题

    一.控制台的报错信息 2021-12-29 15:15:04 [main] ERROR org.springframework.boot.SpringApplication - Application ...

  3. springboot整合swagger(高版本)异常

    springboot整合swagger(高版本)异常 参考文章: (1)springboot整合swagger(高版本)异常 (2)https://www.cnblogs.com/chbyiming- ...

  4. 高版本springboot整合swagger

    高版本springboot整合swagger 这是我的springboot版本2.6: ![!\[Alt\](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF ...

  5. springboot整合swagger+knife4j

    springboot整合swagger+knife4j 参考网址: https://mp.weixin.qq.com/s/KlYj5JuJSJYQQ47mQu7b1w swagger配置参考文档 sw ...

  6. springboot整合swagger+mybatisplus案例

    1.前后端分离的一个常用的文档接口swaggerui越来越受欢迎,方便了前端以及后端人员的测试 2.如下为springboot整合swagger和mybatispus案例的github地址:https ...

  7. Springboot整合Swagger实战(一)

    Springboot整合Swagger实战(一) 记录一下自己在开发过程中,遇到的问题及安装环境的步骤(最讨厌安装环境了),希望可以帮到大家. 我在遇到问题的时候也是查找了好多文章,奈何呀,全是问题, ...

  8. Swagger - SpringBoot整合Swagger最佳实践

    总结 Swagger UI部分有两种,一种是官方提供的名为swagger-ui,访问路径为/swagger-ui.html,一种是萧明同学提供的swagger-bootstrap-ui,访问路径为/d ...

  9. Springboot整合Swagger UI 3.0.0 版本

    一.前言 在之前的项目中,以及提到了如何整合 Swagger UI 2 版本,包括导入jar包,编写配置文件,以及需要对应的springboot版本等. 链接如下:https://blog.csdn. ...

最新文章

  1. rust腐蚀 木制窗户怎么修_装修窗帘怎么选最划算?记住这3点,至少能省大几千...
  2. Linux :debian(ubuntu)下安装和使用haskell
  3. Mybatis入门之动态sql
  4. Android应用开发:网络编程-2
  5. [剑指offer]面试题第[44]题[JAVA][数字序列中某一位的数字][找规律]
  6. MATLAB中的微积分运算(数值符号)
  7. powershell 停止正在运行的用户应用
  8. 小霸王消失,好记星落灰,谁能“取悦”10后?
  9. 计算机的需求配置,软件最佳运行对计算机配置最低要求怎样?
  10. 老板应该如何运用人才?
  11. 挚同道合,物所不能!挚物·AIoT产业领袖峰会报名进入倒计时!
  12. 绘制14段米字数码管显示,显示数字和英文字母。
  13. cad转excel插件c2e_CAD表格互转EXCEL插件(CAD和EXCEL表格互转工具)V1.1 最新版
  14. 【剖析 | SOFARPC 框架】之SOFARPC 连接管理与心跳剖析
  15. 四色定理c语言,阅读下列程序说明和C代码,将应填入(n)处。【程序5说明】著名的四色定理指出..._考试资料网...
  16. .net\C#基于zxing的彩色、Logo二维码生成---随笔
  17. finecms V5 会员头像任意文件上传漏洞 附修复代码
  18. 电脑开机后网络一直转圈,程序也打不开——亲测解决办法
  19. OO包设计原则遵循度自动分析检查工具JDM简介(原创)
  20. MATLAB注意事项

热门文章

  1. 删除时存在依赖_从一次线上故障来看redis删除机制
  2. Linux运维中如何进行网页加密?
  3. gin路由打开html页面,Gin(二):使用路由
  4. Java单元测试的意义_单元测试重要意义及方法介绍
  5. mysql 源码安装 5.6.21_Mysql5.6.21源码安装
  6. vin端口是什么意思_端口有无开启
  7. 苹果6怎么截屏_蓝苹果多肉怎么养,掌握这6种养殖方法
  8. cygwin中写c语言程序,在windows下怎么利用Cygwin进行编程
  9. python语言最适合的应用领域是_Python语言及其应用领域研究
  10. mysql 操作审计_【MySQL】MySQL审计操作记录