apifox 集成 idea2022.2.5 apifox配置自动登录token
提示:针对初次使用apifox集成idea2022.2.5 使用的保姆级教程
第一章 apifox下载 和 idea2022.2.5 绿色版。
apifox下载路径:https://apifox.com/
idea开发工具:https://www.jetbrains.com/idea/
文章目录
apifox 的优势介绍
Apifox IDEA 插件(Apifox Helper) 主要用于 IDEA 项目快速生成 API 文档,并同步到 Apifox,代码零入侵。
- 基于 javadoc(Java)、KDoc(Kotlin)、ScalaDoc(Scala) 解析 API 文档。
- 支持 Swagger 注解
- 可以在保持代码零侵入的情况下得到相当完整的 API 文档,但是特殊的需求还是需要部分特殊的注释/注解配合,注释规范说明。
- 该插件基于 easy-api 定制开发.
功能特性
- 导出 API 文档到 Apifox
- 导出 Markdown 格式 API 文档
- 在 IDEA 中直接发起 API 请求
idea配置apifox插件操作步骤
- idea版本 2022 以上版本 (建议使用2022.2.x)
- 插件在idea安装位置 File -> Settings ->Plugins (搜索框输入 Apifox Helper)
- 点击安装
- idea中apifox参数配置 File -> Settings -> ApifoxHelper (附图P01)
- Apifox服务器地址:https://api.apifox.cn
- API访问令牌(附图P02)
- 模块项目ID配置(取apifoxi中得项目Id,附图P03)
图P01
图P02
图P03
apifox配置自动登录
一、操作步骤:
1. 项目设置->公共脚本
示例脚本:配置自动登录接口获取Token填充全局参数
// 定义发送登录接口请求方法
function sendLoginRequest() {
// 获取环境里的 前置URL
const url = pm.environment.get("url");
// 登录用户名,这里从环境变量 LOGIN_USERNAME 获取,也可以写死(但是不建议)
const username = pm.environment.get("username");
// 登录密码,这里从环境变量 LOGIN_PASSWORD 获取,也可以写死(但是不建议)
const password = pm.environment.get("password");
// 构造一个 POST x-www-form-urlencoded 格式请求。这里需要改成你们实际登录接口的请求参数。
const loginRequest = {
url: url + "/login",
method: "POST",
header:['Content-Type:application/json;charset=UTF-8'],
// body 为 x-www-form-urlencoded 格式
body: {
mode: 'raw', // 此处为 urlencoded
// 此处为 urlencoded
raw: JSON.stringify (
{ "username": username ,
"password" : password },
)
},
};
// 发送请求。
pm.sendRequest(loginRequest, function (err, res) {
if (err) {
console.log(err);
} else {
// 读取接口返回的 json 数据。
const jsonData = res.json();
// 将 accessToken 写入环境变量 ACCESS_TOKEN
pm.environment.set("token", jsonData.token);
// 将 accessTokenExpires 过期时间写入环境变量
pm.environment.set("token_expires",jsonData.token);
}
});
}
// 获取环境变量里的 ACCESS_TOKEN
const accessToken = pm.environment.get("token");
// 获取环境变量里的 ACCESS_TOKEN_EXPIRES
const accessTokenExpires = pm.environment.get("token_expires");
// 如 ACCESS_TOKEN 没有值,或 ACCESS_TOKEN_EXPIRES 已过期,则执行发送登录接口请求
if ( !accessToken ||(accessTokenExpires && new Date(accessTokenExpires) <= new Date())
) {
sendLoginRequest();
}
2.配置全局参数
示例说明:变量名"token"和"token_expires"可根据公共脚本的值去自主修改
3.全局参数
示例说明:参数名"Authorization"根据实际项目配置的认证key去配置
4.环境参数配置
示例说明:环境变量->变量命可直接根据改文章使用
5.前置操作
示例说明:接口根目录配置前置操作
总结
以上所有内容针对于idea配置apifox和 apifox自动登录获取token
希望有小伙伴可以一起学习交流