使用Apifox+idea插件+Javadoc彻底替代Java项目中的Swagger 实现代码零侵入(这里以SpringBoot多模块项目为例)

  • 前言
  • 前期准备
  • 下载安装Apifox
  • 创建项目&获取项目ID
  • 创建项目
  • 获取项目ID
  • 生成个人API访问令牌
  • IDEA安裝Apifox Helper插件
  • 实战使用
  • 创建一个测试项目
  • 配置Apifox插件
  • 编写SpringBoot测试代码
  • 同步接口到Apifox
  • 同步整个模块接口到Apifox
  • 同步 controller 文件内所有接口到Apifox
  • 同步选择部分接口到Apifox
  • 如何使用项目内配置文件.apifox-helper.properties


前言

Swagger伴随了大部分Java工程师的整个接口文档生涯,个人觉得Swagger2使用起来是挺不错的就是代码侵入性太强功能没有现在的Apifox强大,Apifox中也可以直接导入Swagger的接口文档数据这种方式适合已有项目集成Apifox,新项目直接使用Apifox idea插件+Javadoc即可,完全实现代码无侵入.

前期准备

下载安装Apifox

官网下载

创建项目&获取项目ID

创建项目

IDEA 添加 spring initializer_java

获取项目ID

IDEA中要使用这个项目ID

IDEA 添加 spring initializer_intellij-idea_02

生成个人API访问令牌

IDEA与Apixfox通讯时需要用到

IDEA 添加 spring initializer_idea_03

IDEA安裝Apifox Helper插件

IDEA 添加 spring initializer_java_04


安装完成之后需要重启一下IDEA才能生效

IDEA 添加 spring initializer_java_05

实战使用

文档地址

创建一个测试项目

代码地址https://gitee.com/kerwin_code/apifox-test2023.git 测试项目代码结构图

IDEA 添加 spring initializer_spring boot_06

配置Apifox插件

不同版本的IDEA的Settings中ApifoxHelper可能在不同的目录下,如果不在根目录就点开后面几个多级菜单找一下,一般都在最后几个多级菜单中。

IDEA 添加 spring initializer_spring boot_07

PS: 在模块项目ID配置中注意事项

  • 模块名称:可以填写任意层级的模块名称,Apifox会根据模块名称匹配,比如我这里是有二级模块填写的模块名称为apifox-order.
  • 目录名称:这个名称是用来控制Apifox控制台中的显示目录,如果不设置目录名称都是导入到根目录

编写SpringBoot测试代码

代码地址https://gitee.com/kerwin_code/apifox-test2023.git PS:这里不对部分代码细节做说明,可以直接下载代码自行查看。

同步接口到Apifox

每一次同步完成之后都需要刷新Apifox工具获取最新同步接口信息

同步整个模块接口到Apifox

IDEA 添加 spring initializer_idea_08

同步 controller 文件内所有接口到Apifox

IDEA 添加 spring initializer_idea_09

同步选择部分接口到Apifox

IDEA 添加 spring initializer_intellij-idea_10


IDEA 添加 spring initializer_intellij-idea_11

如何使用项目内配置文件.apifox-helper.properties