当前位置: 首页 > news >正文

Swagger

1.Swagger介绍

Swagger 是一个用于设计、构建、记录和使用 RESTful API 的强大工具集。它提供了一套规范(称为 OpenAPI 规范)以及相关的工具,帮助开发者描述并测试 API。

1.1我的理解

Swagger 是一个接口文档,根据个性化定制 (不同组别,不同Controller下,不同开发环境下,接口/参数)生成一份接口文档测试。 可以实时更新,方便协同作用

2.Swagger开始

2.1新建一个SpringBoot项目

由于我使用的使java8,想分享一下怎么创建Java8的spring boot项目

使用阿里云的地址创建 

http://start.aliyun.com

2.2引入Swagger依赖,完成SpringBoot整合

可在maven仓库中获取
https://mvnrepository.com/

        <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.3完成Swagger配置类编写

@Configuration //告诉SpringBoot这是配置类
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {//配置swagger的docket Bean实例@Beanpublic Docket docket(Environment environment){//设置你想要展示的环境Profiles pro = Profiles.of("pro");//获取项目环境boolean profiles = environment.acceptsProfiles(pro); //检测是否为pro的环境 返回boolean值System.out.println("---------------");System.out.println(profiles);System.out.println("---------------");//自定义一个docker (swagger实例)return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())// swagger信息的布局.groupName("zyf") //选择组名.select()//配置要扫描接口的方式 //选择注释.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))//过滤路径.paths(PathSelectors.ant("/**")).build()//select 与 build 配套使用//是否启用swagger.enable(profiles);}//配置第二套swagger环境@Beanpublic Docket docket1(){return  new Docket(DocumentationType.SWAGGER_2).groupName("syl");}private ApiInfo apiInfo(){Contact contact = new Contact("zyf","https://www.bilibili.com","2442@qq.com");return  new ApiInfo("鸿瑞微信小程序API文档","生存,以至于更好地生存!","v1.0","https://www.bilibili.com/video/BV1Y441197Lw/?p=2&spm_id_from=pageDriver&vd_source=2149b178b477a9e92cdc9c4a25972c47",contact,"Apache 2.0","http://www.apache.org/licenses/LICENSE-2.0",new ArrayList());}
}

2.4部分参数功能解释

2.5Swagger注解

 @ApiOperation("INVOKE方法")@PostMapping("/invoke")public Good invoke(@ApiParam Good good){return good;}

3.Swagger页面展示

4.报错及处理

引入Swagger可能会出现空指针 

修改办法  引用该大佬的分享

修改springboot 版本 我修改为低版本springboot 2.3.2.Release 版本不适配问题

相关文章:

  • 【Python日志模块全面指南】:记录每一行代码的呼吸,掌握应用程序的脉搏
  • u8g2 使用IIC驱动uc1617 lcd有时候某些像素显示不正确
  • Linux系统ubuntu20.04 无人机PX4 开发环境搭建(失败率很低)
  • 高光谱图像融合超分辨率、全色锐化PyTorch工具箱--HIFToolBox
  • springboot应用启动太慢排查 半天才打印日志
  • 建议收藏!入门上位机编程的疑问解答
  • 【PHP】使用$this->request->filter() 方法对请求数据进行过滤处理
  • 理解HTTP请求格式
  • web中间件漏洞-weblogic漏洞-弱口令war包上传
  • 在Apache Flink中,TableAggregateFunction是一种用户自定义的聚合函数,它允许你实现自定义的聚合逻辑
  • 多线程(Lock锁,死锁,等待唤醒机制,阻塞队列,线程池)
  • HTML播放flv
  • 深度学习 --- stanford cs231学习笔记五(训练神经网络的几个重要组成部分之二,数据的预处理)
  • 华为云开源邀您共赴华为开发者大会2024,精彩议题抢先看
  • rsync同步目录脚本
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • echarts花样作死的坑
  • egg(89)--egg之redis的发布和订阅
  • Java 内存分配及垃圾回收机制初探
  • JavaScript 基本功--面试宝典
  • Javascript弹出层-初探
  • js中的正则表达式入门
  • Logstash 参考指南(目录)
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • mongo索引构建
  • springboot_database项目介绍
  • 闭包--闭包之tab栏切换(四)
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 开源地图数据可视化库——mapnik
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 理解在java “”i=i++;”所发生的事情
  • 聊一聊前端的监控
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 使用 Docker 部署 Spring Boot项目
  • 使用putty远程连接linux
  • 无服务器化是企业 IT 架构的未来吗?
  • PostgreSQL之连接数修改
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ## 1.3.Git命令
  • ###C语言程序设计-----C语言学习(6)#
  • #etcd#安装时出错
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $(selector).each()和$.each()的区别
  • (1)常见O(n^2)排序算法解析
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...