概述
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
,命令行运行程序时,在控制台输出的字符串。
调用原理
调用外部程序是以命令行的方式运行程序,返回值为程序在控制台输出的字符串。系统会自动根据外部程序的后缀名,调用对应的命令行来运行外部程序。
代码示例
后执行脚本
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);
}
demo.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;
控制台执行结果
后执行操作
控制台打印