概述
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;
控制台執行結果
後執行操作
控制台打印