Api框架神器Swagger2

Swagger被称为世界最强的的Api框架,没有之一。(有点狂妄)

下面我们来简单了解一下swagger,基于前后端分离开发,在相互交互时产生的需求。传统方法在联调的时候,无法及时的协商,前后端容易出现冲突,swagger大大降低了工作的难度。

我们演示在spring boot下集成swagger2:

1.新建spring boot项目(使用idea开发工具)

2.导入相关的依赖

<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>

这里是swagger2使用到的两个依赖,可以从maven仓库中下载,导入之后记得刷新maven。

3.编写简单的工程


我们新建一个controller,编写一个hello工程。

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

4.配置swagger信息

新建一个SwaggerConfig的class

@Configuration
@EnableSwagger2
public class SwaggerConfig {//配置swagger中的docket实例@Beanpublic Docket docket(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())//分组操作.groupName("张巍警").select()//指定要扫描的包.apis(RequestHandlerSelectors.basePackage("cn.bd13.demo.controller"))//过滤的路径.paths(PathSelectors.any()).build();}//配置apiinfo的信息public ApiInfo apiInfo(){Contact contact = new Contact("张巍警", "https://gitee.com/zhang_wei_jing/otaku_time.git", "2797005567@qq.com");return new ApiInfo("宅男swagger2","不可描述的东西","1.0","https://gitee.com/zhang_wei_jing/otaku_time.git",contact,"Apache 2.0","http://www.apache.org/licenses/LICENSE-2.0",new ArrayList());}
}

启动项目,url+swagger-ui.html

这里就可以显示出我们的接口文档,当然也可以添加很多注释。

//在类名上声明
@Api(tags = "这是hello的方法")
//在方法上声明
@ApiOperation(value = "这是用户登录的方法")
@ApiImplicitParams({//默认值@ApiImplicitParam(name = "name" ,example = "zwj" ,required = true),@ApiImplicitParam(name = "password" ,example = "111" ,required = true)
})
@ApiResponses({//配合token使用@ApiResponse(code = 400 ,message = "数据库没有返回值"),@ApiResponse(code = 501 ,message = "数据库操作有误"),@ApiResponse(code = 502 ,message = "JAVA操作有误"),@ApiResponse(code = 503 ,message = "REDIS操作有误")
})

有了swagger,再也不怕前后端撕逼啦。。。。。
真香!!
由于自己在学习前端框架,断更了许久,照旧,给各位看官分享一句话,
人生何其美好,愿各位都能活得烈马青葱,不为他人目光所累。
加油!

浅谈Api框架神器Swagger2相关推荐

  1. 浅谈API开发安全之sign有效时间(三)

    之前生成的sign和校验sign我们已经完全掌握了,但是仅仅凭借这样的sign是无法满足我们的需求的,如果一个黑客通过抓包抓到你的数据,他可以去修改你的header为这样的,body为那样的,也是可以 ...

  2. 浅谈API开发安全之生成sign(一)

    在对于API的开发中,最让人头疼的就是接口数据暴露,让一些有心之人抓包之后恶意请求,那么如何解决这一弊端呢?自然而然的我们就想到了加密 ,那我们又如何加密,如何解密,才能使之有最安全的效率呢?这是一个 ...

  3. 浅谈API安全的应用

    理论基础 API它的全称是Application Programming Interface,也叫做应用程序接口,它定义了软件之间的数据交互方式.功能类型.随着互联网的普及和发展,API 从早期的软件 ...

  4. 浅谈跨平台框架 Flutter 的优势与结构

    作者:个推iOS工程师 伊泽瑞尔 一.背景 目前,移动开发技术主要分为原生开发和跨平台开发两种.其中,原生应用是指在某个特定的移动平台上,使用平台所支持的开发工具和语言,直接调用系统提供的API所开发 ...

  5. 【软件测试】浅谈API功能测试

    什么是API测试 什么是API 关于定义什么的,直接维基可得: API(Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分 ...

  6. 【Caffeine入门】浅谈缓存框架Caffeine

    Caffeine是一个基于Java8的高性能缓存框架,号称趋于完美.Caffeine受启发于Guava Cache的API,使用API和Guava是一致的.它借鉴了Guava Cache和Concur ...

  7. 浅谈Scrapy框架之Items用途

    初次使用item时,不禁发出疑问,为什么scrapy框架要设计item这个东西,python中不是有dict可以做到数据的传递和存储么?经过查询后,具体总结如下: 爬虫爬取本质是什么? 主要目标是从非 ...

  8. 浅谈chainer框架

    一 chainer基础 Chainer是一个专门为高效研究和开发深度学习算法而设计的开源框架. 这篇博文会通过一些例子简要地介绍一下Chainer,同时把它与其他一些框架做比较,比如Caffe.The ...

  9. 浅谈EntityFramework框架的使用

    第一步,建立一个类库,并且安装好EntityFramework框架还有CodingFirstUsingFluentApi安装包 第二步 : 第三步:配置好你的数据库连接信息,还有你需要操作的数据库,在 ...

最新文章

  1. 我在硅谷工作的第四年:技术是怎么把信息变现的
  2. ios 悬浮窗_多达2000个频道,支持7天回看!这才是我要的看电视app(安卓/ios)...
  3. kaldi在java中运行_ubuntu下kaldi的安装以及实例的运行
  4. word置顶_小鱼便签怎么设置置顶
  5. PHP秒杀系统全方位设计分析--转载
  6. Java 中Timer和TimerTask 定时器和定时任务使用的例子
  7. server2012 asp odb数据原_异地服务器文件及数据库定时备份
  8. iOS核心动画高级技术(九) 图层时间
  9. Pytorch 编译cpp、cuda扩展遇到的问题
  10. mysql 树形结构_Mysql安装:基础入门知识
  11. logback.xml文件配置(按时间、文件大小和log名称生成日志)
  12. 2天玩转单反相机引领快乐光影新生活
  13. anaconda配置python_interpreter报错_MAC系统下SublimeText3 Python环境配置参考
  14. linux oracle 强制覆盖_赤兔Oracle数据库恢复软件下载-赤兔Oracle数据库恢复软件v11.6免费版...
  15. CREO:CREO软件的简介、安装(七大步骤)、学习路线大全(CREO软件各模块界面解释—菜单栏快速栏工作区、草绘/零件/工程图/装配设计讲解)、案例应用(几十个案例)之详细攻略
  16. 如何选择适合你的兴趣爱好(五十四),硬笔书法
  17. Medoo Detele的使用:删除数据
  18. html中竖线怎么写,网页中竖线的几种做法
  19. 借微信更新说说有关版本的那些事儿
  20. mac笔记——from“http://macshuo.com/”

热门文章

  1. 数据资产管理的5个步骤和6个要素
  2. uml建模外卖订餐系统
  3. python开发魔塔(1)
  4. iOS 视频直播技术
  5. S3DIS 点云数据集的手动修复问题
  6. Android shell脚本自动启动app,关闭app,遇到crash自动停止
  7. 索引生命周期管理ILM看完不懂你锤我
  8. 阿里架构专家教你打通Git任督二脉,20分钟搞定Git工作原理
  9. 计算机直接切换到桌面,屏幕如何快速切换桌面
  10. html自动关闭当前页面,html如何关闭当前页面