博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot集成Swagger接口管理工具
阅读量:6654 次
发布时间:2019-06-25

本文共 2867 字,大约阅读时间需要 9 分钟。

手写Api文档的几个痛点:

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

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

Maven引入依赖项目

io.springfox
springfox-swagger2
2.6.1
io.springfox
springfox-swagger-ui
2.6.1

配置文件

在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@EnableSwagger2public 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
bookPage = bookServer.selectPage(new Page
(index, page)); return JSONObject.toJSONString(bookPage).toString(); }}

测试

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

转载于:https://www.cnblogs.com/zhoutao825638/p/10382065.html

你可能感兴趣的文章
Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信
查看>>
Visual Studio 2012完美的拥抱GitHub
查看>>
[转]asp.net MVC 常见安全问题及解决方案
查看>>
安装elasticsearch
查看>>
__inline定义的内联函数和宏的区别
查看>>
人生规划和GTD——"知"、"得"与"合"
查看>>
ntp/系统时钟/硬件时钟/双系统下计算机时间读取的问题
查看>>
iOS 如何在整个屏幕中都能实现滑动返回的效果
查看>>
欧拉工程第66题:Diophantine equation
查看>>
php二维数组按照键值排序的方法
查看>>
backBone.js初识
查看>>
Web API 安全问题
查看>>
ubuntu 14.04 安装preforce
查看>>
Ognl底层使用
查看>>
sflow
查看>>
Codeforces 85B. Embassy Queue【段树、馋】
查看>>
产品管理流程
查看>>
iOS_数据库3_sqlite3基本操作
查看>>
Linux下php安装Redis扩展
查看>>
ANDROID L——RecyclerView,CardView进口和使用(Demo)
查看>>