概述
Apipost是一款专为API研发设计的协同工具,它集成了API接口调试、文档生成、自动化测试等功能,能够覆盖API研发的整个生命周期。通过Apipost,用户可以轻松创建、调试和测试API接口,生成高质量的API文档,并与团队成员进行实时协作和沟通。无论是在线还是离线,它都能为用户提供稳定、高效的API研发体验。
预执行脚本是一个
请求发送前
执行的脚本。通过添加预执行操作——添加自定义脚本的方式进行添加。APIPost 支持通过脚本(JavaScript)调用其他编程语言进行操作。要实现这一点,通常需要使用外部程序或库来与其他语言通信。
预执行脚本可以完成以下作用
- 编写JS函数等实现复杂计算;
- 变量的打印
- 定义、获取、删除、清空环境变量
- 定义、获取、删除、清空全局变量
- 获取请求参数
- 动态添加、删除一个header请求参数
- 动态添加、删除一个query请求参数
- 动态添加、删除一个body请求参数
- 发送HTTP请求
提示:仅版本号 >=
7.0.13
的 Apipost 版本支持脚本调用外部程序。
使用方法
脚本中使用方法apt.execute(fileName, args)
调用外部程序。
- 参数
fileName:String
,外部程序文件名绝对路径。 - 参数
args:Array<String>
,传给外部程序的运行参数,为字符串数组类型,可以传递多个参数。 - 返回值:
String
,命令行运行程序时,在控制台输出的字符串。
调用原理
调用外部程序是以命令行的方式运行程序,返回值为程序在控制台输出的字符串。系统会自动根据外部程序的后缀名,调用对应的命令行来运行外部程序。
代码示例
代码语言:javascript复制后执行脚本
try {
var fileName = "E:/test.php";
var args = {
event: "Tinywan",
room_id: 2,
channel_id: 10086
};
// 注意:json 格式数据作为参数时,需要使用 JSON.stringify 对参数进行序列化
const phpResultString = apt.execute(fileName, [JSON.stringify(args)]);
// 注意:返回数据为 json 格式字符串时,可使用 JSON.parse 反序列化
const phpResult = JSON.parse(phpResultString);
console.log("PHP 运行结果 ", phpResult);
} catch (e) {
console.error(e.message);
}
代码语言:javascript复制
test.php
代码
<?php
/**
* @author Tinywan(ShaoBo Wan)
* @date 2024/6/21 20:14
*/
declare(strict_types=1);
$param = json_decode($argv[1]);
$result = [];
foreach ($param as $key => $value) {
$result[$key] = $value;
}
echo json_encode($result) . PHP_EOL;
控制台执行结果
后执行操作
控制台打印