一、Swagger简介

1.1前后端分离

前端—> 前端控制层、视图层
后端—> 后端控制层、服务层、数据访问层
前后端通过API进行交互
前后端相对独立且松耦合

1.2产生的问题

前后端集成,前端或者后端无法做到“及时协商,尽早解决”,最终导致问题集中爆发

1.3解决方案

首先定义schema【计划的提纲】,并实时跟踪最新的API,降低集成风险;

因此,Swagger应运而生

1.4Swagger

(一)号称世界上最流行的API框架
(二)Restful Api 文档在线自动生成器 => Api文档与API定义同步更新
(三)直接运行,在线测试API
(四)支持多种语言【如java、PHP等】
(五)官网

二、SpringBoot集成Swagger

2.1 新建一个SpringBoot=web项目

2.2 导入相关的依赖

 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency><!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency>

2.3创建config>SwaggerConfig

//定义配置类
@Configuration
@EnableSwagger2//开启swagger2
public class SwaggerConfig {}

2.4配置Swagger

//配置Swagger的Docket的bean实例@Beanpublic Docket docket(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());}//配置swagger信息public ApiInfo apiInfo(){Contact contact = new Contact("琴江","http://www.zhaoliangliang.work/","1003989507@qq.com");return new ApiInfo("亮哥的SwaggerAPI文档","即使再小的帆也能远航","v2.2","http://www.zhaoliangliang.work/",contact,"Apache 2.0","http://www.zhaoliangliang.work/",new ArrayList());}

2.5测试瞅瞅

三、Swagger配置扫描接口

//配置Swagger的Docket的bean实例@Beanpublic Docket docket(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()//RequestHandlerSelectors,配置要扫描接口的方式//basePackage:指定要扫描的包//any():扫描全部//none():不扫描//withClassAnnotation:扫描类上的注解,参数是一个注解的反射对象//withMethodAnotation:扫描方法上的注解.apis(RequestHandlerSelectors.basePackage("com.teaiyang.swagger.controller"))//path() 过滤什么路径.paths(PathSelectors.ant("/swagger/**")).build();}

配置是否启动Swagger

//配置Swagger的Docket的bean实例@Beanpublic Docket docket(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("亮亮组").enable(false)//enable是否启动swagger,如果false 则swagger不能再浏览器中访问.select().apis(RequestHandlerSelectors.basePackage("com.teaiyang.swagger.controller"))//.paths(PathSelectors.ant("/swagger/**")).build();}

四、问题:我只希望我的Swagger在生成环境中使用,在发布环境不使用?

(一)在application.yml中

springconfig:enable: true

(二)swagger配置类中

@Value("${springconfig.enable}")private boolean enable;

五、用户实体

@ApiModel( ) //主要用来标注返回的实体类
@ApiModelProperty( ) //主要用来标注实体类中的属性

@ApiModel("用户的实体类")
public class User implements Serializable{@ApiModelProperty("用户的id")private Integer id;@ApiModelProperty("用户名")private String username;@ApiModelProperty("用户的密码")private String password;@ApiModelProperty("用户的年龄")private Integer age;get/set/tostring

@ApiModelProperty用来标注API接口

@RestController
public class UserController {@ApiModelProperty("得到一个user")@GetMapping("/getUser")public User getUser(){return new User(1,"赵亮亮","papap",12);}
}

测试:

Swagger体验版相关推荐

  1. html判断安装没安装qq,QQ6.1体验版怎么用?腾讯QQ6.1体验版本安装步骤(无须申请体验账号)...

    腾讯QQ6.1体验版本安装,腾讯qq不断的更新换代,现在来到QQ6.1,这版本页面设置简单.下面来我跟大家演示一下怎么安装腾讯QQ6.1版的.这里小编给大家提供的无须申请体验账号,直接就可以进入的软件 ...

  2. Deco 智能代码体验版正式上线啦,快来体验设计稿一键生成代码~

    Deco 是什么?- Deco 智能代码项目是我们团队在「前端智能化」方向上的探索,其聚焦设计稿一键生成多端代码这一切入点,实现将 Sketch/Photoshop 等设计稿进行解析并直接生成多端代码 ...

  3. 小米miui系统已停止服务器,小米两款机型停止 MIUI 更新,明天发布最终体验版固件...

    原标题:小米两款机型停止 MIUI 更新,明天发布最终体验版固件 11 月 21 日消息, MIUI 官方预告 MIUI 于 2018 年 11 月 22 日发布小米手机 5 .红米 Note 3 全 ...

  4. ios 权限提示语_iOS工作室都在用按键v1.6.1(体验版)

    按键精灵iOS v1.6.1(体验版)已发布到cydia 新增工作室专场 还支持VIP自助换绑 欢迎下载使用~ 源地址:http://apt.mobileanjian.com VIP换绑方法如下: 1 ...

  5. 华硕主板专用Ghost Win11 64位专业体验版 V2021.08

    华硕主板专用Ghost Win11 64位专业体验版是微软最新发布的电脑操作系统,目前Win11系统已经更新至第六个预览版本,增加和修复了众多的内容,这里小编为大家带来最新版下载,用户可以一键快速安装 ...

  6. 中移动飞信2010Beta1.0体验版

    昨天在逛CNBETA的时候发现飞信已经放出了2010的1.0体验版,听说这一版已经支持不需要移动的手机号就能注册飞信用户的新功能,所以就觉定下载下来试试看(不想用手机注册). 没有用过原来的版本,所以 ...

  7. android8版本怎么下载,华为安卓8.0系统正式版下载-华为安卓8.0系统体验版安卓版_飞翔下载...

    安卓8.0系统体验版是最近谷歌推出的安卓系统最新版本,主题是可爱的奥利奥超人哦,此次更新加强了手机的续航能力,以及改进蓝牙音频的一部分,加强对手机安全性的保证,想要抢先体验的小伙伴们赶紧来下载吧~记得 ...

  8. 微信小程序开发笔记2——如何发布小程序体验版

    如何发布微信小程序体验版 学习链接:https://blog.csdn.net/futruejet/article/details/53224408 -- 至此完毕,更多精彩请看下一笔记. 转载于:h ...

  9. asp 退出登录修改cookie能进入后台_Vue3.0 - Composition API 体验版开发后台管理系统...

    手把手撸码前端,实战大公司级后台管理系统开发,正规实践了解项目开发整体流程 由0到1搭建后台管理系统,采用 Vue3.0 - Composition API 体验版开发,优先体验3.0 API 语法: ...

最新文章

  1. AI杀入斗地主领域,快手开发DouZero对标AlphaZero,干掉344个AI获第一
  2. java基础(八) 深入解析常量池与装拆箱机制
  3. mac os 安装linux驱动,教程:Ubuntu 14.04安装Mac OS X主题
  4. JS弹出窗口的运用与技巧(转)
  5. 如何识别是三层交换机还是二层交换机
  6. 工业以太网交换机与网络交换机的区别
  7. mysql抖动可能的原因_MySQL应对网络抖动问题
  8. 重新想象 Windows 8.1 Store Apps (75) - 新增控件: Hub, Hyperlink
  9. 编程语言在中国哪种职位最多_您使用最多的是哪种“古老”编程语言?
  10. 赋值运算符(AssignmentOperator)
  11. 使用vbs脚本实现自动化安装GUI程序
  12. 给文字添加超链接,没有你想的那么难
  13. iOS编程比较好开源的完整项目iOS编程比较好开源的完整项目
  14. Chrome 的人都需要知道的「神器」扩展:「油猴」使用详解
  15. 卡诺模型案例分析_KANO模型案例分析---来自58学车
  16. Java热搜问题大整理
  17. 翻译文章-让生活变得简单
  18. 利用朴素贝叶斯算法解决“公园凉鞋问题”
  19. MySQL单表数据查询之分组数据查询之旅
  20. 通过电脑重置解决小米笔记本巨卡无比的问题

热门文章

  1. python保存为xlsb_如何使用Python将csv文件转换为xlsb?
  2. 帝国的余辉(ATT)(二)
  3. 员工一言不合就离职怎么办?我用 Python 写了个员工流失预测模型
  4. 阿里巴巴ICBU技术部招人啦
  5. 西门子wincc工程项目实例 wincc7.0 水处理项目水,处理工程项目
  6. excel 合并行列单元格
  7. cc1310官方示例如何在不同内存芯片跑起来
  8. 学计算机专业 要画素描吗,数位板可以画素描吗?电脑绘画也能画素描!
  9. android浏览器获取设备id,html 或者HTML5 加上js能获取手机设备的id号吗
  10. npm-查看依赖库最新版本及历史版本指令记录