写点什么

自动生成 API 工具——Swagger3

作者:Java学术趴
  • 2022 年 7 月 08 日
  • 本文字数:1988 字

    阅读完需:约 7 分钟

自动生成API工具——Swagger3

👨‍🎓作者:Java 学术趴

🏦仓库:GithubGitee

✏️博客:CSDN掘金InfoQ云+社区

💌公众号:Java 学术趴

🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。

🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。微信搜索公众号 Java 学术趴联系小编。


☠️每日毒鸡汤:这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!


👋大家好!我是你们的老朋友 Java 学术趴。今天给大家分享一波自动生成 API 文档的工具,就是 Swagger,人们亲切的叫他丝袜哥。哈哈哈哈,开玩笑的啦,小编给大家提供了一个工具类,这个工具类可以直接复制粘贴进行使用哦

1. Swagger3 简介

Swagger(丝袜哥)是一个简单但功能强大的 API 表达工具。它具有地球上最大的 API 工具生态系统,数以千万的开发人员使用,几乎所有的现代编程语言,都支持和使用 Swagger。使用 Swagger 生成 API,我们可以得到交互式文档,自动生成代码的 SDK 以及 API 发新特性。


前后端分离项目,接口文档的存在是十分重要的。与手动编写的接口不同,swagger 是一个自动生成接口文档的工具,在需求不断变更的环境下,手动编写文档的效率太低。与 swagger2 相比新版的 swagger3 配置更少,使用更方便。

2. Swagger 的作用

  • 将项目中所有的接口展现在页面上,这样后端程序员就不需要专门为前端使用者编写专门的接口文档。

  • 当接口更新之后,只需要修改代码中的 Swagger 描述就可以实现实时生成新的接口文档,从而规避了接口文档老旧不能使用的问题

  • 通过 Swagger 页面,我们可以直接进行接口调用,降低了项目开发阶段的调式成本。

3. Swagger 的实际开发配置文件(直接复制粘贴使用即可)

Swagger3 配置类文件:Swagger3Config


package cn.gyyx.config;import io.swagger.annotations.ApiOperation;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.service.Contact;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;/** * @description: * @author: Pengdehua * @time: 2021/8/10 14:06 */@Configurationpublic class Swagger3Config {    /**     * 配置Swagger3。这些信息都会显示在这个Swagger3的前端页面上     * @return     */    @Bean    public Docket createRestApi() {        return new Docket(DocumentationType.OAS_30)  // 指定Swagger版本为3                // 该Swagger3的信息,调用的是下边定义的信息方法                .apiInfo(apiInfo())                // 指定负责该 Swagger3 的小组。每个小组都需要有自己的  createRestApi() 以及 apiInfo(),所以说当有多个组是会有很多套                .groupName("Java一组")                // 开发环境用到Swagger,正式环境一般进行关闭 true/false(开关)                // .enable(false)                // 接下来是过滤(指定哪些方法需要存在接口文档信息):过滤之前必须给定 .select()                .select()                // 根据带有注解的方法过滤。存在@ApiOperation注解的方法保存接口描述信息。参数是一个类名,这里使用类自带的class属性获取类名                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))                // 根据路径信息过滤。any()代表所有的路径都保存接口信息。还可以使用 PathSelectors.ant("路径信息") 指定特定的接口                .paths(PathSelectors.any())                // 过滤之后最后必须存在一个 build(),表示构建完成                .build();    }    /**     * 如果不配置会使用源码中默认的,一般我们都在这里进行覆盖重写     * 配置该Swagger3的Api信息     * @return     */    private ApiInfo apiInfo() {        return new ApiInfoBuilder()                // 该Swagger3的Api文档题目                .title("第四版监控")                // 该Swagger3的Api文档描述                .description("第四版监控 - 接口管理")                // 该Swagger3的Api文档联系方式(固定格式)                .contact(new Contact("彭德华", "", "pengdehua@gyyx.cn"))                // Swagger3的版本                .version("1.0")                // 最后需要使用build结尾,代表构建完成                .build();    }}
复制代码


发布于: 刚刚阅读数: 3
用户头像

Java学术趴

关注

还未添加个人签名 2022.07.02 加入

还未添加个人简介

评论

发布
暂无评论
自动生成API工具——Swagger3_7月月更_Java学术趴_InfoQ写作社区