六、springboot整合swagger
六、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相关推荐
- Springboot整合swagger指南
Springboot整合swagger指南 1. 安装使用 1.1 下载依赖 <dependency><groupId>io.springfox</groupId> ...
- 解决高版本SpringBoot整合swagger时启动报错:Failed to start bean ‘documentationPluginsBootstrapper‘ 问题
一.控制台的报错信息 2021-12-29 15:15:04 [main] ERROR org.springframework.boot.SpringApplication - Application ...
- springboot整合swagger(高版本)异常
springboot整合swagger(高版本)异常 参考文章: (1)springboot整合swagger(高版本)异常 (2)https://www.cnblogs.com/chbyiming- ...
- 高版本springboot整合swagger
高版本springboot整合swagger 这是我的springboot版本2.6: ![!\[Alt\](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF ...
- springboot整合swagger+knife4j
springboot整合swagger+knife4j 参考网址: https://mp.weixin.qq.com/s/KlYj5JuJSJYQQ47mQu7b1w swagger配置参考文档 sw ...
- springboot整合swagger+mybatisplus案例
1.前后端分离的一个常用的文档接口swaggerui越来越受欢迎,方便了前端以及后端人员的测试 2.如下为springboot整合swagger和mybatispus案例的github地址:https ...
- Springboot整合Swagger实战(一)
Springboot整合Swagger实战(一) 记录一下自己在开发过程中,遇到的问题及安装环境的步骤(最讨厌安装环境了),希望可以帮到大家. 我在遇到问题的时候也是查找了好多文章,奈何呀,全是问题, ...
- Swagger - SpringBoot整合Swagger最佳实践
总结 Swagger UI部分有两种,一种是官方提供的名为swagger-ui,访问路径为/swagger-ui.html,一种是萧明同学提供的swagger-bootstrap-ui,访问路径为/d ...
- Springboot整合Swagger UI 3.0.0 版本
一.前言 在之前的项目中,以及提到了如何整合 Swagger UI 2 版本,包括导入jar包,编写配置文件,以及需要对应的springboot版本等. 链接如下:https://blog.csdn. ...
最新文章
- rust腐蚀 木制窗户怎么修_装修窗帘怎么选最划算?记住这3点,至少能省大几千...
- Linux :debian(ubuntu)下安装和使用haskell
- Mybatis入门之动态sql
- Android应用开发:网络编程-2
- [剑指offer]面试题第[44]题[JAVA][数字序列中某一位的数字][找规律]
- MATLAB中的微积分运算(数值符号)
- powershell 停止正在运行的用户应用
- 小霸王消失,好记星落灰,谁能“取悦”10后?
- 计算机的需求配置,软件最佳运行对计算机配置最低要求怎样?
- 老板应该如何运用人才?
- 挚同道合,物所不能!挚物·AIoT产业领袖峰会报名进入倒计时!
- 绘制14段米字数码管显示,显示数字和英文字母。
- cad转excel插件c2e_CAD表格互转EXCEL插件(CAD和EXCEL表格互转工具)V1.1 最新版
- 【剖析 | SOFARPC 框架】之SOFARPC 连接管理与心跳剖析
- 四色定理c语言,阅读下列程序说明和C代码,将应填入(n)处。【程序5说明】著名的四色定理指出..._考试资料网...
- .net\C#基于zxing的彩色、Logo二维码生成---随笔
- finecms V5 会员头像任意文件上传漏洞 附修复代码
- 电脑开机后网络一直转圈,程序也打不开——亲测解决办法
- OO包设计原则遵循度自动分析检查工具JDM简介(原创)
- MATLAB注意事项
热门文章
- 删除时存在依赖_从一次线上故障来看redis删除机制
- Linux运维中如何进行网页加密?
- gin路由打开html页面,Gin(二):使用路由
- Java单元测试的意义_单元测试重要意义及方法介绍
- mysql 源码安装 5.6.21_Mysql5.6.21源码安装
- vin端口是什么意思_端口有无开启
- 苹果6怎么截屏_蓝苹果多肉怎么养,掌握这6种养殖方法
- cygwin中写c语言程序,在windows下怎么利用Cygwin进行编程
- python语言最适合的应用领域是_Python语言及其应用领域研究
- mysql 操作审计_【MySQL】MySQL审计操作记录