自动生成api文档的工具-----swagger

前言

在几年前 我们写一个前后端分离的web项目的时候 常常会碰到一些问题, 比如说你后端前端的交互产生了问题 前端需要的数据和你后端数据库里面的数据产生偏差 或者是前端后端不知道怎么进行联调 就会导致很多的问题,这个时候我们就需要实时的来更新api文档以实现降低风险,但是如果工程量变大了 比如是几千人来开发一个项目 一个文档几千个人用 这个时候效率肯定是很低的 所以 我们就引入了swagger

swagger是干什么的?

我们是为了能解决前后端分离 产生的交互问题而引入的swagger所以他也旨在解决前后端产生的交互问题。解决的办法就是管理好api文档 因为前后端交互的很大一部分就是api文档。他的好处就是能直接运行 在线测试api接口 这样我们甚至能把前后端部署在不同的服务器上面。

怎么使用swagger?

首先需要导入依赖

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swaggerui
-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>

启动的时候可能会有空指针异常 这个时候需要将springboot的版本降下来

<version>2.5.7</version>

降到2.5.7就ok了
然后启动就能看到这个UI界面了
http://localhost:8080/swagger-ui.html#/hello
在这里插入图片描述
这个界面会显示你端口号下面的请求,比如说hello请求 这个表示hello这个controller层里面的接口 你可以通过swagger的UI界面看到这个接口究竟实现了那些功能,以方便前端人员使用。

设置API文档的属性

在swagger里面的bean实例是docket 所以我们要是想要改变swagger的信息 只需要更改这个bean实例就好了 我们在swagger的配置类里面去生成一个新的docket给这个docket附上你希望的初始值 就能实现 更改 这个文档的内容。

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket docket(){
        return  new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
    }
    private ApiInfo apiInfo(){

        Contact contact = new Contact("联系人名字", "http://xxx.xxx.com/联系人访问链接", "联系人邮箱");

        return new ApiInfo(
                "Swagger学习",
                "学习演示如何配置Swagger",
                "v1.0",
                "http://terms.service.url/组织链接",
                contact,
                "Apach 2.0 许可",
                "许可链接",
                new ArrayList<>()
        );

    }
}

这样 我们把这个bean注册到了spring容器里面 然后就可以使用我们自己设置的信息了 现在再访问这个链接 点我 http://localhost:8080/swagger-ui.html 就会看到我们自己设置的样式
在这里插入图片描述
主要是一定要记得把这个docket用bean注册到 spring容器里面去 还有就是info的信息也要放到docket里面去。

多人协作开发

api文档最大的好处就是能实现多人协作开发 我们可以使用不同的docket来表示不同的人所开发的不同的功能 我们可以使用多个docket 然后给这些docket来重命名 最后限定只能扫描到的controller层 就ok了。
pyy环境
在这里插入图片描述
ljc环境
在这里插入图片描述

结尾

我们使用swagger可以解决代码量比较庞大的项目 的api问题 使用起来也是相对比较简单。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值