Spring Boot中使用Swagger2构建RESTful APIs
关于 Swagger
Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因:
- Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
- Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。
- Swagger 文件可以在许多不同的平台上从代码注释中自动生成。
- Swagger 有一个强大的社区,里面有许多强悍的贡献者。
Swagger 文档提供了一个方法,使我们可以用指定的 JSON 或者 YAML 摘要来描述你的 API,包括了比如 names、order 等 API 信息。
你可以通过一个文本编辑器来编辑 Swagger 文件,或者你也可以从你的代码注释中自动生成。各种工具都可以使用 Swagger 文件来生成互动的 API 文档。
下面我们开始在Spring Boot中使用Swagger2构建RESTful APIs
第一步,在pom.xml
中加入Swagger2的依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.2.2</version></dependency> 第二步,创建Swagger2配置类(注意配置类须与application同级目录)
/** * Swagger2配置类 * 在于Springboot集成时,需与application同目录 * 通过注解@Configuration,让Spring来加载该配置 * 通过注解@EnableSwagger2,来启动swagger2 */@Configuration@EnableSwagger2public class Swagger2 { /** * 创建API应用 * * @return */ @Bean public Docket createRestApi() { Docket docket = new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.web"))//注:该路径指定为需要加载Swagger的路径,只有路径中的API才会被Swagger管理 .paths(PathSelectors.any()).build(); return docket; } /** * 创建改API的基本信息(这些基本信息会展示在文档页面中) * 访问地址: http://项目实际地址/swagger-ui.html * @return */ public ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2构建RESTful APIs") .description("了解更多请联系:Misme") .termsOfServiceUrl("http://www.cnblogs.com/MisMe/") .contact("Misme") .version("1.0") .build(); }} 第三步,添加文档内容,在需要的地方添加注解
@Api("ChatInfoController|图片和音频上传控制器类")@RestControllerpublic class ChatInfoController { /** * 上传图片接口 * @param attach 文件对象 * @param request http请求 * @return imgSrc:上传后图片文件的路径 */ @ApiOperation(value = "上传图片",notes = "文件不能超过20M大小,后缀名为png,jpg,gif") @RequestMapping(value = "/uploadImg",method = RequestMethod.POST) @ResponseBody public String uploadImg(@RequestParam("file") MultipartFile attach, HttpServletRequest request) { System.out.println("上传图片"); return "具体方法"; }} 注解详解:
- @Api:修饰整个类,描述Controller的作用
- @ApiOperation:描述一个类的一个方法,或者说一个接口
- @ApiParam:单个参数描述
- @ApiModel:用对象来接收参数
- @ApiProperty:用对象接收参数时,描述对象的一个字段
- @ApiResponse:HTTP响应其中1个描述
- @ApiResponses:HTTP响应整体描述
- @ApiIgnore:使用该注解忽略这个API
- @ApiError :发生错误返回的信息
- @ApiImplicitParam:一个请求参数
- @ApiImplicitParams:多个请求参数
转载于:https://www.cnblogs.com/MisMe/p/10778756.html
Spring Boot中使用Swagger2构建RESTful APIs相关推荐
- Spring Boot 中使用 Swagger2 构建强大的 RESTful API 文档
项目现状:由于前后端分离,没有很好的前后端合作工具. 由于接口众多,并且细节复杂(需要考虑不同的HTTP请求类型.HTTP头部信息.HTTP请求内容等),高质量地创建这份文档本身就是件非常吃力的事,下 ...
- Spring Boot中使用Swagger2构建强大的RESTful API文档
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
- java Spring Boot中使用Swagger2构建API文档
1.添加Swagger2的依赖 在pom.xml中加入Swagger2的依赖 <dependency><groupId>io.springfox</groupId> ...
- Spring MVC中使用 Swagger2 构建Restful API
0.Spring MVC配置文件中的配置 [java] view plain copy <!-- 设置使用注解的类所在的jar包,只加载controller类 --> <span s ...
- dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3(十)之Spring MVC中使用 Swagger2 构建Restful API...
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010046908/article/details/55047193 1.Swagger2是什么? ...
- Spring boot :使用 Swagger 2 构建 RESTful APIs
1.美图 2.什么是 Swagger Swagger 是一系列列 RESTful API 的⼯具,通过 Swagger 可以获得项⽬的一种交互式⽂档,客户端 SDK 的⾃动⽣生成等功能. Swagge ...
- Spring boot中使用Swagger2
为什么80%的码农都做不了架构师?>>> 问题 最近需要做接口开发,给客户端们调用,但是我又不想写文档,听说REST风格的接口都在用Swagger做IDL(Interface ...
- SpringBoot 精通系列-使用Swagger2构建RESTful APIs
导语 在之前的博客中曾经说过关于SpringBoot RESTful架构的知识,也提供了一个简单的小例子,当然在实际工作中更多的使用的是Swagger来实现一个RESTful的API.那么下面就来 ...
- springboot集成swagger2构建RESTful API文档
在开发过程中,有时候我们需要不停的测试接口,自测,或者交由测试测试接口,我们需要构建一个文档,都是单独写,太麻烦了,现在使用springboot集成swagger2来构建RESTful API文档,可 ...
最新文章
- 解决python2.7 UnicodeEncodeError报错
- strdup() - 它在C中做了什么?
- 数据中心在未来数据管理中的作用
- 心电信号的PQRST模拟matlab代码(转载+自己调研汇总)
- 两相流计算中,如何用Tecplot提取水相断面平均物理量?
- [20150629]12c物化视图刷新Out of place
- 240多个jQuery插件 (转)
- vue 将行转换成对象_Vue简化版实现
- JAVA程序将PDF转化为TXT
- 【python】ssh密码字典攻击
- 台式机安装黑苹果-新手教程
- 33个网站足以使你成为一个天才
- 小米手机便签一键启动这个功能,可将便签录音秒变文字
- c51单片机烧录程序 控制台显示正在检测目标单片机
- xp 计算机没装网络控制器,XP系统如何安装没有线网卡驱动?
- 《ClickHouse原理解析与应用实践》读书笔记(7)
- C++实现多态的条件
- 基于Android的文本笔记类APP设计
- 嵌入式系统设计(一)
- Linux系统忘记密码解决办法
热门文章
- CloudStack4.1.1升级CloudPlatForm4.2.0实践手册
- Nmap在pentest box中的扫描及应用
- 《JavaScript高效图形编程(修订版)》——6.10 用画布sprites取代DHTMLsprite
- JDK1.7安装配置环境变量+图文说明Jmeter安装
- HTML5 ArrayBufferView之DataView
- 单防区扩展模块怎么用_Zens推出模块化可扩展无线充电器 可为6台设备同时供电...
- 【转载】dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)
- (转载)hadoop2.2.0集群的HA高可靠的最简单配置
- [转]清华梦的粉碎—写给清华大学的退学申请
- php只显示指定文件类型_php强制下载指定类型的文件