关于 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:多个请求参数
第四步,启动后访问: http://项目实际地址/swagger-ui.html,即可看见Swagger的管理页面,如果未看见管理的API请检查第二步的
apis(RequestHandlerSelectors.basePackage("com.web")) 路径是否正确;

转载于:https://www.cnblogs.com/MisMe/p/10778756.html

Spring Boot中使用Swagger2构建RESTful APIs相关推荐

  1. Spring Boot 中使用 Swagger2 构建强大的 RESTful API 文档

    项目现状:由于前后端分离,没有很好的前后端合作工具. 由于接口众多,并且细节复杂(需要考虑不同的HTTP请求类型.HTTP头部信息.HTTP请求内容等),高质量地创建这份文档本身就是件非常吃力的事,下 ...

  2. Spring Boot中使用Swagger2构建强大的RESTful API文档

    由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...

  3. java Spring Boot中使用Swagger2构建API文档

    1.添加Swagger2的依赖 在pom.xml中加入Swagger2的依赖 <dependency><groupId>io.springfox</groupId> ...

  4. Spring MVC中使用 Swagger2 构建Restful API

    0.Spring MVC配置文件中的配置 [java] view plain copy <!-- 设置使用注解的类所在的jar包,只加载controller类 --> <span s ...

  5. dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3(十)之Spring MVC中使用 Swagger2 构建Restful API...

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010046908/article/details/55047193 1.Swagger2是什么? ...

  6. Spring boot :使用 Swagger 2 构建 RESTful APIs

    1.美图 2.什么是 Swagger Swagger 是一系列列 RESTful API 的⼯具,通过 Swagger 可以获得项⽬的一种交互式⽂档,客户端 SDK 的⾃动⽣生成等功能. Swagge ...

  7. Spring boot中使用Swagger2

    为什么80%的码农都做不了架构师?>>>    问题 最近需要做接口开发,给客户端们调用,但是我又不想写文档,听说REST风格的接口都在用Swagger做IDL(Interface ...

  8. SpringBoot 精通系列-使用Swagger2构建RESTful APIs

    导语   在之前的博客中曾经说过关于SpringBoot RESTful架构的知识,也提供了一个简单的小例子,当然在实际工作中更多的使用的是Swagger来实现一个RESTful的API.那么下面就来 ...

  9. springboot集成swagger2构建RESTful API文档

    在开发过程中,有时候我们需要不停的测试接口,自测,或者交由测试测试接口,我们需要构建一个文档,都是单独写,太麻烦了,现在使用springboot集成swagger2来构建RESTful API文档,可 ...

最新文章

  1. 解决python2.7 UnicodeEncodeError报错
  2. strdup() - 它在C中做了什么?
  3. 数据中心在未来数据管理中的作用
  4. 心电信号的PQRST模拟matlab代码(转载+自己调研汇总)
  5. 两相流计算中,如何用Tecplot提取水相断面平均物理量?
  6. [20150629]12c物化视图刷新Out of place
  7. 240多个jQuery插件 (转)
  8. vue 将行转换成对象_Vue简化版实现
  9. JAVA程序将PDF转化为TXT
  10. 【python】ssh密码字典攻击
  11. 台式机安装黑苹果-新手教程
  12. 33个网站足以使你成为一个天才
  13. 小米手机便签一键启动这个功能,可将便签录音秒变文字
  14. c51单片机烧录程序 控制台显示正在检测目标单片机
  15. xp 计算机没装网络控制器,XP系统如何安装没有线网卡驱动?
  16. 《ClickHouse原理解析与应用实践》读书笔记(7)
  17. C++实现多态的条件
  18. 基于Android的文本笔记类APP设计
  19. 嵌入式系统设计(一)
  20. Linux系统忘记密码解决办法

热门文章

  1. CloudStack4.1.1升级CloudPlatForm4.2.0实践手册
  2. Nmap在pentest box中的扫描及应用
  3. 《JavaScript高效图形编程(修订版)》——6.10 用画布sprites取代DHTMLsprite
  4. JDK1.7安装配置环境变量+图文说明Jmeter安装
  5. HTML5 ArrayBufferView之DataView
  6. 单防区扩展模块怎么用_Zens推出模块化可扩展无线充电器 可为6台设备同时供电...
  7. 【转载】dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)
  8. (转载)hadoop2.2.0集群的HA高可靠的最简单配置
  9. [转]清华梦的粉碎—写给清华大学的退学申请
  10. php只显示指定文件类型_php强制下载指定类型的文件