Springboot集成swagger,使用apifox浏览

通过集成Swagger并结合Apifox,本文介绍了一种高效的方法来自动生成接口文档及进行接口测试。不仅可以减少手动编写文档的工作量,还能提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相信很多小伙伴还在手动编辑接口文档,是不是很痛苦,每次辛辛苦苦写完代码之后,还得写个测试代码来测试接口,测试完了又得写个接口文档方便前端同学对接,实在是难受的丫匹,swagger + apifox可以帮你干这些繁琐的事情。

首先在pom文件中先导入swagger依赖

        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
            <version>1.6.11</version>
            <exclusions>
                <exclusion>
                    <artifactId>swagger-ui</artifactId>
                    <groupId>org.webjars</groupId>
                </exclusion>
            </exclusions>
        </dependency>

注意,依赖里面排除了swagger-ui,swagger-ui界面实在太难用了,很多年前的东西了,这里我推荐用apifox,apifox提供了简洁漂亮的ui界面,你可以下载apifox软件,也有网页版本。

上面集成了swagger之后,我们启动程序。访问http://127.0.0.1:8080/v3/api-docs,ip端口记得换成自己项目的哈,我这里用的127.0.0.1和8080,你会发现网页上出现一json字符串

这就是swagger根据你controller里面的接口的签名解析出来的(前提是你项目中创建了controller,空项目肯定是看不到的)。这是在网页上访问这个地址,我们到apifox中使用这个地址看看(在项目设置下面的导入数据选项)。

 

 url导入,点击提交就能看到如下页面

 这就是根据那串json字符串解析出来的,点击确认导入,在接口管理中就能看到这些接口了

 apifox还提供了在线测试功能

点击自动生成,会自动帮你填充参数,也可以自己编辑,然后运行就好了。有时候运行失败可以检查下环境,主要是ip端口,右上角的环境按钮可以管理环境,更改ip端口啥的。

 一般项目为了统一返回值管理。会定义一个Result类作为统一返回值,里面有code,data,message属性。


@Data
public class Result {
    private int code;
    private String message;

    private Object data;
    public Result() {}

    public Result(int code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 成功
     */
    public static Result success(Object data) {
        Result result = new Result();
        result.setCode(ResultMsgEnum.SUCCESS.getCode());
        result.setMessage(ResultMsgEnum.SUCCESS.getMessage());
        result.setData(data);
        return result;
    }
    /**
     * 失败
     */
    public static Result fail(int code, String message) {
        return new Result(code, message);
    }

    /**
     * 失败
     */
    public static Result fail(ResultMsgEnum) {
        return new Result(code, message);
    }
}

用了统一返回值后,你会发现接口文档不太好用了

 我这个data是能点开的,能看到里面具体的属性,如果使用统一返回值,这个data是一个固定类型object,这里是点不开的,那么每个接口的返回值都是一样的。那么怎么样才能让它能够点开呢?把Result类改造一下,加入泛型。

@Data
public class Result<T> {
    private int code;
    private String message;

    private T data;
    public Result() {}

    public Result(int code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 成功
     */
    public static <T> Result<T> success(T data) {
        Result<T> result = new Result<>();
        result.setCode(ErrorEnum.SUCCESS.getCode());
        result.setMessage(ErrorEnum.SUCCESS.getMessage());
        result.setData(data);
        return result;
    }
    /**
     * 失败
     */
    public static <T> Result<T> fail(int code, String message) {
        return new Result<>(code, message);
    }

    /**
     * 失败
     */
    public static <T> Result<T> fail(ErrorEnum errorEnum) {
        return new Result<>(errorEnum.getCode(), errorEnum.getMessage());
    }
}

controller中的接口返回值就是这样的了,带上了泛型

 这时候在apifox中就能看到统一返回值中data里面的属性了。

再也不为写接口文档而烦恼了!!!

最后附上apifox操作文档:帮助中心 | Apifox 使用文档

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·码上修·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值