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. linux文件-access函数
  2. java bidi_Java Bidi createLineBidi()用法及代码示例
  3. (转)C# WebApi 身份认证解决方案:Basic基础认证
  4. Liferay –简单主题开发
  5. Pytest参数选项自由执行测试用例详解(二)
  6. Docker - 导出导入容器
  7. 数据分析--商业报告实例
  8. linux下printf函数为什么不加\n就不能输出相关的内容 ?
  9. 超详细Hexo+Github博客搭建小白教程
  10. IBatis.Net学习笔记三--两种常用的DAO
  11. 尚硅谷谷粒商城项目介绍
  12. 山东大学软件学院计算机组成原理课程设计实验三
  13. Cadence Allegro 高亮功能的使用技巧图文教程
  14. android实现截图功能吗,android截屏功能实现代码
  15. Git GUI中文乱码问题解决方法
  16. java 正数转负数函数_Java数学函数将正整数转换为负数并将负整数转换为正数?...
  17. STM32F4时钟系统说明
  18. Teach-Repeat-Replan: A Complete and Robust System for Aggressive Flight in Complex Environments
  19. 线性空间2--子空间
  20. 犀利姐—林家小妹:将犀利进行到底!

热门文章

  1. 直播平台软件开发都使用了什么协议呢?
  2. JavaScript中Set的使用
  3. 利用Python求解八数码难题
  4. win7已经阻止此发行者在您的计算机上运行软件,Win7系统提示Windows已经阻止此软件因为无法验证发行者解决方法...
  5. 企业资源计划-MPS计算(附详细解题步骤及计算过程)
  6. Java生成PDF文件保存到本地磁盘
  7. R语言ggplot2可视化:使用ggpubr包的ggdensity函数可视化密度图、使用scale_x_continuous函数指定X轴坐标轴的取值范围(起始值和终止值)
  8. Ubuntu 20.04 修改笔记本亮度
  9. 网站加入代码让网页以电脑端打开_发现一个超级好用的视频播放网站-酷播云...
  10. git clone 整个 group