浅谈Api框架神器Swagger2
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相关推荐
- 浅谈API开发安全之sign有效时间(三)
之前生成的sign和校验sign我们已经完全掌握了,但是仅仅凭借这样的sign是无法满足我们的需求的,如果一个黑客通过抓包抓到你的数据,他可以去修改你的header为这样的,body为那样的,也是可以 ...
- 浅谈API开发安全之生成sign(一)
在对于API的开发中,最让人头疼的就是接口数据暴露,让一些有心之人抓包之后恶意请求,那么如何解决这一弊端呢?自然而然的我们就想到了加密 ,那我们又如何加密,如何解密,才能使之有最安全的效率呢?这是一个 ...
- 浅谈API安全的应用
理论基础 API它的全称是Application Programming Interface,也叫做应用程序接口,它定义了软件之间的数据交互方式.功能类型.随着互联网的普及和发展,API 从早期的软件 ...
- 浅谈跨平台框架 Flutter 的优势与结构
作者:个推iOS工程师 伊泽瑞尔 一.背景 目前,移动开发技术主要分为原生开发和跨平台开发两种.其中,原生应用是指在某个特定的移动平台上,使用平台所支持的开发工具和语言,直接调用系统提供的API所开发 ...
- 【软件测试】浅谈API功能测试
什么是API测试 什么是API 关于定义什么的,直接维基可得: API(Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分 ...
- 【Caffeine入门】浅谈缓存框架Caffeine
Caffeine是一个基于Java8的高性能缓存框架,号称趋于完美.Caffeine受启发于Guava Cache的API,使用API和Guava是一致的.它借鉴了Guava Cache和Concur ...
- 浅谈Scrapy框架之Items用途
初次使用item时,不禁发出疑问,为什么scrapy框架要设计item这个东西,python中不是有dict可以做到数据的传递和存储么?经过查询后,具体总结如下: 爬虫爬取本质是什么? 主要目标是从非 ...
- 浅谈chainer框架
一 chainer基础 Chainer是一个专门为高效研究和开发深度学习算法而设计的开源框架. 这篇博文会通过一些例子简要地介绍一下Chainer,同时把它与其他一些框架做比较,比如Caffe.The ...
- 浅谈EntityFramework框架的使用
第一步,建立一个类库,并且安装好EntityFramework框架还有CodingFirstUsingFluentApi安装包 第二步 : 第三步:配置好你的数据库连接信息,还有你需要操作的数据库,在 ...
最新文章
- 我在硅谷工作的第四年:技术是怎么把信息变现的
- ios 悬浮窗_多达2000个频道,支持7天回看!这才是我要的看电视app(安卓/ios)...
- kaldi在java中运行_ubuntu下kaldi的安装以及实例的运行
- word置顶_小鱼便签怎么设置置顶
- PHP秒杀系统全方位设计分析--转载
- Java 中Timer和TimerTask 定时器和定时任务使用的例子
- server2012 asp odb数据原_异地服务器文件及数据库定时备份
- iOS核心动画高级技术(九) 图层时间
- Pytorch 编译cpp、cuda扩展遇到的问题
- mysql 树形结构_Mysql安装:基础入门知识
- logback.xml文件配置(按时间、文件大小和log名称生成日志)
- 2天玩转单反相机引领快乐光影新生活
- anaconda配置python_interpreter报错_MAC系统下SublimeText3 Python环境配置参考
- linux oracle 强制覆盖_赤兔Oracle数据库恢复软件下载-赤兔Oracle数据库恢复软件v11.6免费版...
- CREO:CREO软件的简介、安装(七大步骤)、学习路线大全(CREO软件各模块界面解释—菜单栏快速栏工作区、草绘/零件/工程图/装配设计讲解)、案例应用(几十个案例)之详细攻略
- 如何选择适合你的兴趣爱好(五十四),硬笔书法
- Medoo Detele的使用:删除数据
- html中竖线怎么写,网页中竖线的几种做法
- 借微信更新说说有关版本的那些事儿
- mac笔记——from“http://macshuo.com/”