Apifox 教學:免費的 API 設計、除錯與測試工具,一套系統管到底
摘要
Apifox 把 API 說明文件、除錯、Mock 與自動化測試放進同一套系統,專案的介面資料因此只需要維護一份。
推薦- 軟體名稱
- Apifox
- 版本
- 20220914
- 收費
- 免費
- 開源
- 非開源
- 更新時間
- 2026-10-06 22:58
一套系統,取代四個地方
Apifox 管的是一個介面的整段生命:寫說明文件、除錯、在後端還不存在時先做 Mock,以及之後對它跑自動化測試。它背後的設計決定,是這四件事讀同一份資料。專案裡一個介面只維持一份描述,其餘都從這份描述長出來 —— 真正被解決掉的,就是「兩套系統各存一版同一支 API」這個老問題。
官方自己的說法列出四塊:API 說明文件、API 除錯、API Mock、API 自動化測試。公網版(SaaS 版)目前完全免費,團隊人數、功能、專案數與介面數都不設限。

設計 API 說明文件
場景測試把一連串呼叫當成一條流程來跑,用來確認這些呼叫之間傳的資料是對的。斷言用視覺化方式設定,不必寫成程式碼;變數可以從回應裡抽出來;流程中間還能對資料庫下 SQL。前置與後置腳本可以自己寫,語法與 Postman 腳本完全相容 —— 對一支從那個工具搬過來的團隊來說,學習成本因此壓得很低。
腳本也不限於 JavaScript。javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 都能呼叫,團隊不必把既有的小工具改寫成另一種語言。

除錯
除錯頁該有的都有:環境變數、前置與後置腳本、跨請求共用的 Cookie 與 Session。在這之上,它會拿回應的資料結構去對說明文件裡的定義,欄位改了型別或消失了,當下就報出來,而不是一個禮拜後才有人發現。
用例掛在介面上,而不是掛在某次連線裡:一個介面可以有多個用例,每個用例有自己的參數與預期。斷言、變數提取與 SQL 操作在這裡同樣是視覺化設定,設計、除錯、測試三個階段的操作習慣因此是一致的。
Mock 與自動化測試
Mock 不需要先做設定:工具會直接從 API 說明文件推導出合理的資料。內建 Mock.js 規則引擎,定義資料結構時就能把規則設進去;不同參數值可以回傳不同內容 —— 這一點才讓 Mock 真的能拿來測分支,而不只是測那條順利的路。
自動化測試沿用前面那些場景測試。測試可以透過 Apifox CLI 從命令列啟動,這也正是它接得上持續整合的原因:Jenkins 之類的工作或任何執行器,都能在每次建置時把整組測試跑一遍。
資料庫與產生的程式碼
資料庫存取是雙向的。可以讀資料庫的資料,當成請求參數使用;也可以讀資料庫的資料,用來斷言這個請求到底成不成功 —— 當介面只回一個簡單的確認、真正的結果落在資料表裡時,這一點特別要緊。
從介面或模型的定義,工具能同時產生業務程式碼與 API 請求程式碼。涵蓋的 130 種語言與框架裡,包含 TypeScript、Java、Go、Swift、Objective-C、Kotlin、Dart、C++、C# 與 Rust;範本也可以自己改,讓產出的程式碼符合團隊自己的架構規範。

協定、匯入與匯出
HTTP 與 HTTPS 介面可以管理,走 TCP 的 Socket 連線也可以。GraphQL、Dubbo、gRPC 與 WebSocket 官方標為後續支援 —— 一個專案在決定要不要統一用這套工具時,這一點值得先知道。
資料可以匯出成 OpenAPI(Swagger)、Markdown 或 Html。匯入則涵蓋 OpenAPI(Swagger)、Postman、HAR、RAP2、JMeter、YApi、Eolinker、NEI、RAML、DOClever、Apizza、DOCWAY、ShowDoc、apiDoc、I/O Docs、WADL 與 Google Discovery,既有的集合很少需要手工重建。
團隊怎麼一起用
介面資料在雲端同步、即時更新,這是「只維護一份」在多人情況下能成立的前提。權限按團隊與專案管理,角色有管理員、普通成員與唯讀成員。
適合誰用
受夠了把說明文件、除錯集合與測試案例分放三處的後端團隊,得到的好處很直接:一份定義,多處使用。等著一支還不存在的介面的前端團隊,拿到的是從說明文件長出來的 Mock,而不是手寫的假資料。而已經在別處養了一大套集合的團隊,通常可以匯入,不必從頭再建一次。