菜单

IDEA插件使用之Apifox (一)

ilucky
发布于 2024-08-30 / 9 阅读
0
0

IDEA插件使用之Apifox (一)

202401101156728

一、快速上手

Apifox Helper 是 Apifox 团队针对 IntelliJ IDEA 环境所推出的插件,可以在 IDEA 环境中识别本地 Java、Kotlin 后端项目的源代码,自动生成 API 文档并一键同步到 Apifox 的项目中。

详情请访问 官网

二、项目使用

2.1 设置请求接口所属文件夹

默认情况下, 默认使用 API 所在类作为所属文件夹(即xxxController类上的注释作为文件夹名)。

使用如下:

/**
 * 用户相关
 */
@RestController
@RequestMapping(value = "mock")
public class MockCtrl {
​
  /**
   * @folder 一级目录/二级目录
   */
  @GetMapping("/string")
  public String userDetail() {
    return Result.success("***");
  }
​
  /**
   * @folder 用户相关/一级目录/二级目录
   */
  @GetMapping("/string")
  public String userDetailRoot() {
    return Result.success("***");
  }
  
}

默认情况下(无配置)上述接口会归属到文件夹用户相关, 加上注释 @folder 一级目录/二级目录后归属到一级目录/二级目录,如果希望成为用户相关的子目录,加上注释 @folder 用户相关/一级目录/二级目录后归属到用户相关/一级目录/二级目录 多级目录使用斜杠/分隔。其中\/为特殊字符,需要转义,\/表示字符/\\表示字符\

2.2 忽略 API 请求参数

后端可能存在用一个对象作为多个API接口的参数接收,这样就需要对特定的接口忽略特定的请求参数。

使用如下:

/**
 * 校验信息
 *
 * @author fwx
 */
@Data
@Accessors(chain = true)
public class SmsCode implements Serializable {
​
  private static final long serialVersionUID = 1L;
​
  /**
   * 是否成功
   */
  private boolean success = Boolean.TRUE;
​
  /**
   * 手机号
   */
  private String phone;
​
  /**
   * 主键ID
   */
  private String id;
​
  /**
   * 验证码
   */
  private String value;
​
}
/**
 * 忘记密码
 *
 * @author fwx
 */
@RestController
@RequestMapping("/api/forgotpw")
public class ForgotPwController {
  
    /**
     * 验证手机验证码
     * @folder 登录/忘记密码
     * @param smsCode 手机号
     * @paramIngoreData success
     * @return Boolean
     */
    @SaIgnore
    @PostMapping("/checkPhoneNumber")
    public ResponseData checkPhoneNumber(@RequestBody SmsCode smsCode) {
        if (!smsService.validateMessage(smsCode)) {
            return ResponseData.fail(FlexibleResultCode.FAILURE, "验证码不正确");
        }
        return ResponseData.data(FlexibleResultCode.SUCCESS);
    }
}

上述SmsCode对象中的success不作为/api/forgotpw/checkPhoneNumber接口的请求参数,使用@paramIngoreData success忽略属性;

使用方式:@paramIngoreData 属性名1 属性名2 属性名3 ...

三、同步接口

支持同步以下范围内的接口:

  • 模块内的全部接口:在左侧目录树的模块节点,点击右键,选择「Upload to Apifox」

  • Controller 内的全部接口:在 Controller 文件内部,点击右键,选择「Upload to Apifox」

202401121828438

如果是首次同步,需要在弹出的对话框内选择接口的目标同步项目,你可以选择项目或项目内的目录。如果选择项目,则将会上传至项目的根目录。

数据模型无需配置,API 文档将默认上传至接口所在项目的数据模型根目录

202401101523818

相关链接:


评论