手写Api文档的几个痛点:

  • 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。
  • 接口返回结果不明确
  • 不能直接在线测试接口,通常需要使用工具,比如postman
  • 接口文档太多,不好管理

Swagger也就是为了解决这个问题,当然也不能说Swagger就一定是完美的,当然也有缺点,最明显的就是代码移入性比较强,需要手动添加注解。其他的不多说,想要了解Swagger的,可以去Swagger官网,可以直接使用Swagger editor编写接口文档,当然我们这里讲解的是SpringBoot整合Swagger2,直接生成接口文档的方式。

Maven引入依赖项目

        <!--Swagger 框架-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency> <!--Swagger UI-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>

配置文件

在Spring中引入Bean,使用Java代码的方式,更加的方便注意:使用的注解信息

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2; /**
* 本文件由周涛创建,位于com.tao.mybatis_plus.config包下
* 创建时间2018/3/24 19:04
* 邮箱:zhoutao@xiaodouwangluo.com
* 作用:暂未填写
*
* @author tao
*/
@Configuration
@EnableSwagger2
public class Swagger2 { @Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//设置扫描的包名
.apis(RequestHandlerSelectors.basePackage("com.tao.mybatis_plus.controller"))
.paths(PathSelectors.any())
.build();
} private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//文档内容配置信息
.title("SpringBoot整合Swagger")
.description("这是一个简单的SpringBoot项目,基于Maven架构,SSM框架搭建")
.termsOfServiceUrl("https://www.zhoutao123.com")
.version("1.0")
.build();
}
}

配置Controller

下面的代码中主要用到了5个注解分别是:

  • RestController
  • RequestMapping
  • Autowired
  • GetMapping
  • ApiOperation

其中主要重点介绍ApiOperation


@RestController
@RequestMapping("/book")
public class IndexController { @Autowired
private IBookService bookServer; /**
* 查询图书列表
* @param index 索引
* @param page 数量
* @return String
*/
@ApiOperation(value = "查询图书列表",notes = "根据历史信息查询结果")
@GetMapping("/list/{index}/{page}")
public String index(@PathVariable("index") int index,@PathVariable("page") int page){ Integer a = Integer.parseInt("123"); Page<Book> bookPage = bookServer.selectPage(new Page<Book>(index, page));
return JSONObject.toJSONString(bookPage).toString();
}
}

测试

使用浏览器打开http://localhost:{port}/swagger-ui.html 即可看到Swagger界面,可以进行调试

SpringBoot集成Swagger接口管理工具的更多相关文章

  1. springboot 集成 swagger 自动生成API文档

    Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案. S ...

  2. SpringBoot集成Swagger,Postman,newman,jenkins自动化测试.

    环境:Spring Boot,Swagger,gradle,Postman,newman,jenkins SpringBoot环境搭建. Swagger简介 Swagger 是一款RESTFUL接口的 ...

  3. API接口管理工具postman等

    国外 postman Swagger:国外比较流行的一款管理工具,英文配置,需要一定的英文基础和服务器搭建基础,学习成本较高. 国内 Apizza: 风格类似postman,熟悉postman的会比较 ...

  4. 在线接口管理工具-eoapi

    为了方便和前端沟通,临时在局域网搭建了一个接口管理工具,查了一些资料都说eoapi不错,那就试了一下: 1.安装 要在服务器或者自己的电脑,准备web环境,Linux可以是Apache/nginx , ...

  5. 20190909 SpringBoot集成Swagger

    SpringBoot集成Swagger 1. 引入依赖 // SpringBoot compile('org.springframework.boot:spring-boot-starter-web' ...

  6. springboot集成swagger添加消息头(header请求头信息)

    springboot集成swagger上篇文章介绍: https://blog.csdn.net/qiaorui_/article/details/80435488 添加头信息: package co ...

  7. 后端编写Swagger接口管理文档

    Swagger接口管理文档 访问接口文档的网页:http://localhost:8080/swagger-ui/index.html 导入依赖 <dependency> <grou ...

  8. 数据接口管理工具 thx RAP

    RAP是数据接口管理工具.在开发时前端将请求转至RAP,由RAP提供模拟数据:而后端使用RAP测试接口的正确性.这样RAP就成为了开发过程中的强 依赖,进而确保接口文档的实时正确性.RAP采用JSON ...

  9. 【工具】-RAP接口管理工具

    前言 RAP 是一个可视化接口管理工具, 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率. 在 RAP 中,您可定义接口的 URL.请求 ...

随机推荐

  1. Xamarin.Android 利用Fragment实现底部菜单

    效果图: 第一步:添加引用 引用 Crosslight.Xamarin.Android.Support.v7.AppCompat 这个包. 第二步:绘制Main和Fragment界面 fg_home. ...

  2. (转)python异步编程--回调模型(selectors模块)

    原文:https://www.cnblogs.com/zzzlw/p/9384308.html#top 目录 0. 参考地址 1. 前言 2. 核心类 3. SelectSelector核心函数代码分 ...

  3. deque源码4(deque元素操作:pop_back、pop_front、clear、erase、insert)

    deque源码1(deque概述.deque中的控制器) deque源码2(deque迭代器.deque的数据结构) deque源码3(deque的构造与内存.ctor.push_back.push_ ...

  4. DWR第五篇之文件上传

    1. 在第一篇架构基础上进行 2. 修改maven依赖 <dependencies> <dependency> <groupId>org.directwebremo ...

  5. Oracle SQL 开发误区探索

    本文内容摘自<剑破冰山--Oracle开发艺术>一书. 1.避免对列运算 要善于通过等价改写消除 SQL 中对列的运算,这样可以避免索引无法使用. 2.消除隐式转换 3.关注空格(避免粗心 ...

  6. 【原创】STM32工程新建步骤

    1. 新建文件夹          DOC文件夹:        可以存放readme.txt等项目文档     Library文件夹:    可以存放ST库源码,直接复制ST库的源代码到Librar ...

  7. 纯JS实现加载更多(VUE框架)

    <template> <div class = 'car_list' reft='scrollobx' @scroll='scrollready($event)'> </ ...

  8. 浅谈Web服务器和应用服务器的区别

    1Web服务器和应用服务器简介 通俗的讲,Web服务器传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods).确切一点,你可以说:Web服务器专 ...

  9. C#正则表达式_简单梳理_Emoji表情字符处理

    A-最近一直有接触到正则表达式,现对其做简单梳理: private const RegexOptions OPTIONS = RegexOptions.IgnoreCase | RegexOption ...

  10. C# 7.1中default关键字的新用法

    default 关键字有两类用法 switch语句中指定默认标签 默认值表达式 switch 语句 int caseSwitch = 1; switch (caseSwitch) { case 1: ...