浅谈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安装包 第二步 : 第三步:配置好你的数据库连接信息,还有你需要操作的数据库,在 ...
最新文章
- linux文件-access函数
- java bidi_Java Bidi createLineBidi()用法及代码示例
- (转)C# WebApi 身份认证解决方案:Basic基础认证
- Liferay –简单主题开发
- Pytest参数选项自由执行测试用例详解(二)
- Docker - 导出导入容器
- 数据分析--商业报告实例
- linux下printf函数为什么不加\n就不能输出相关的内容 ?
- 超详细Hexo+Github博客搭建小白教程
- IBatis.Net学习笔记三--两种常用的DAO
- 尚硅谷谷粒商城项目介绍
- 山东大学软件学院计算机组成原理课程设计实验三
- Cadence Allegro 高亮功能的使用技巧图文教程
- android实现截图功能吗,android截屏功能实现代码
- Git GUI中文乱码问题解决方法
- java 正数转负数函数_Java数学函数将正整数转换为负数并将负整数转换为正数?...
- STM32F4时钟系统说明
- Teach-Repeat-Replan: A Complete and Robust System for Aggressive Flight in Complex Environments
- 线性空间2--子空间
- 犀利姐—林家小妹:将犀利进行到底!
热门文章
- 直播平台软件开发都使用了什么协议呢?
- JavaScript中Set的使用
- 利用Python求解八数码难题
- win7已经阻止此发行者在您的计算机上运行软件,Win7系统提示Windows已经阻止此软件因为无法验证发行者解决方法...
- 企业资源计划-MPS计算(附详细解题步骤及计算过程)
- Java生成PDF文件保存到本地磁盘
- R语言ggplot2可视化:使用ggpubr包的ggdensity函数可视化密度图、使用scale_x_continuous函数指定X轴坐标轴的取值范围(起始值和终止值)
- Ubuntu 20.04 修改笔记本亮度
- 网站加入代码让网页以电脑端打开_发现一个超级好用的视频播放网站-酷播云...
- git clone 整个 group