🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

引言

在API開發中,規格書的管理、測試執行和模擬伺服器的建立是重要的工作。
我使用Postman已經多年,但感受到以下幾個挑戰。

在Postman中所感受到的挑戰

  • 與Swagger的雙重管理:API規格書在Swagger中管理,測試則在Postman中執行,導致在規範更改時需同時更新兩者。
  • CORS錯誤的發生:使用雲端模擬時出現CORS錯誤,前端開發時需進行代理設定。
// vite.config.ts中的代理設定範例
export default defineConfig({
  server: {
    proxy: {
      '/api': {
        target: 'https://mock.postman.com',
        changeOrigin: true,
        secure: false
      }
    }
  }
})
  • 資料型別的可見性不足:請求和回應的資料型別不清晰,降低開發效率。

為了解決這些挑戰,我最近實際使用了受到關注的「Apidog」。本文將詳細解說其使用感受及與Postman的不同。

目標讀者

  • API開發者
  • 前端和後端工程師
  • 目前正在使用Postman的人

Apidog是什麼

Apidog是一款專注於API開發的整合開發工具。可對API規格書的創建、測試執行和模擬伺服器的建立進行統一管理。

官方網站: https://apidog.com/jp/

Postman與Apidog的差異

Postman的特點

對象:API使用者(測試・除錯)
主要用途:API的測試執行、集合管理

優點

  • 豐富的測試功能
  • 大型社群
  • 多種整合功能

缺點

  • 需另行管理規格書
  • 模擬伺服器中發生CORS錯誤
  • 資料型別的可見性低

Apidog的特點

對象:API開發者(設計・開發・測試)
主要用途:API規格書創建、模擬伺服器、測試執行

優點

  • 規格書・測試・模擬的統一管理
  • 不需CORS設定
  • 數據型別視覺化清晰
  • 可輕鬆複製現有API規範進行遷移

缺點

  • 由於是相對較新的工具,社群較小
  • 部分高級測試功能不足

比較表

項目 Postman Apidog
規格書管理 另行需求 統一管理
模擬伺服器 發生CORS錯誤 不需CORS設定
資料型別顯示 有限 直觀且清晰
遷移成本 - 低(支援複製)
測試功能 豐富 基本功能
團隊協作 集合分享 規格共享

Apidog的主要功能

1. API規格書的統一管理

在Apidog中,可以視覺化地創建和管理API規格書。

特點

  • 可以立即確認資料型別
  • 請求・回應的結構清晰易懂
  • 團隊內的規範共享變得簡單
  • API規格書的創建可透過複製貼上輕鬆設置

2. 各種格式的匯入

支援格式

  • OpenAPI/Swagger
  • Postman
  • Insomnia
  • curl

優點

  • 可輕鬆遷移現有的API規範
  • 初期成本低

3. 模擬伺服器功能

雲端模擬伺服器

{
  "id": 1,
  "name": "田中太郎",
  "email": "[email protected]",
  "created_at": "2024-01-01T00:00:00Z"
}

特點

  • CORS設定簡單
  • 支援IP限制
  • 團隊整體模擬行為統一
  • 模擬伺服器的設置可透過JSON複製貼上輕鬆實現

在前端開發中的應用

與Postman的不同:Apidog的模擬伺服器不需CORS設定,前端可直接調用。

const response = await fetch('https://mock.apidog.com/api/users/1');
const user = await response.json();
console.log(user); // 返回模擬數據

實際開發流程

  1. 後端開發者在Apidog中創建API規格書
  2. 設置模擬伺服器
  3. 前端開發者直接調用模擬API
  4. 不需代理設定即可開始開發

實際使用方法

1. 創建專案

  1. 登入Apidog
  2. 點擊「新建專案」
  3. 輸入專案名稱和描述

2. 創建API規格書

添加端點

此步驟與Postman幾乎相同,但Cookie的設置在Apidog中更為直觀。

設定回應範例

{
  "id": 1,
  "name": "田中太郎",
  "email": "[email protected]",
  "created_at": "2024-01-01T00:00:00Z"
}

3. 設定模擬伺服器

  1. 選擇API端點
  2. 點擊「模擬」標籤
  3. 透過複製貼上設定JSON回應(可以直接貼上現有API回應)
  4. 獲取模擬URL

複製貼上的設定範例

  • 複製現有的API回應
    {
    "status": "success",
    "data": {
    "users": [
      {
        "id": 1,
        "name": "田中太郎",
        "email": "[email protected]"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 10,
      "total": 100
    }
    }
    }

4. 執行測試

curl的測試範例

# curl的測試範例
curl -X POST https://mock.apidog.com/api/users \
  -H "Content-Type: application/json" \
  -d '{"name": "山田花子", "email": "[email protected]"}'

JavaScript的測試範例

// 前端API調用示例
async function createUser(userData) {
  try {
    const response = await fetch('https://mock.apidog.com/api/users', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(userData)
    });

    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }

    const result = await response.json();
    console.log('用戶創建成功:', result);
    return result;
  } catch (error) {
    console.error('發生錯誤:', error);
  }
}

// 使用示例
createUser({
  name: "山田花子",
  email: "[email protected]"
});

5. 實際開發中的應用示例

針對後端開發者

  1. 創建API規範書:匯入現有的Swagger檔案
  2. 設置模擬數據:根據實際回應格式複製JSON
  3. 團隊共享:提供模擬URL給前端開發者

針對前端開發者

  1. 使用模擬API:無需等待後端的實現即可開始開發
  2. 確認資料型別:在Apidog的規格書中檢查請求・回應的型別
  3. 活用測試數據:使用模擬伺服器返回的數據進行UI測試

團隊開發中的應用

規範書的共享

  • 團隊成員皆可參考相同的規範書
  • 更改歷史管理
  • 通過評論功能進行討論

模擬伺服器的統一

  • 前端和後端均使用相同的模擬數據
  • 統一開發環境

注意事項

  1. 資料的機密性:不要在模擬伺服器上設定機密資料
  2. 性能:大量請求會有限制
  3. 版本管理:API規範變更時請適當執行版本控制

總結

Apidog是一個專注於提升API開發效率的工具。特別在以下幾點上表現優秀:

主要優勢

  • 統一管理:通過整合規範書、測試和模擬來解決Postman的雙重管理問題
  • 解決CORS問題:前端開發時無需進行代理設置
  • 數據型別的可見性:請求・回應的結構直觀且清晰
  • 低遷移成本:可輕鬆透過複製貼上遷移現有API規範
  • 團隊合作:透過規範共享和模擬統一,提高開發效率

應考慮導入的情境

  • 因使用Postman與Swagger雙重管理而苦惱
  • 在前端開發中遭遇CORS錯誤
  • 希望提升API規範書的可見性
  • 希望提高團隊的API開發效率

缺點・注意事項

  • 由於是較新的工具,因此社群小
  • 相較於Postman,高級測試功能較不足
  • 需大幅改變現有Postman的工作流程

希望提升API開發效率的人,尤其是在Postman中感受到挑戰的人,可以試試Apidog。

未來展望

未來的應用計畫

  • AI功能:自動生成API規範書和提案測試案例
  • MCP伺服器:加強與Cursor等開發環境的整合
  • 團隊導入:在目前的專案中展開Apidog的團隊使用

期待的功能

  • 更高級的測試自動化功能
  • 與CI/CD管道的整合
  • 強化性能測試功能

參考鏈接


原文出處:https://qiita.com/Zucky2022/items/28af0394b86f64b76321


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝27   💬3   ❤️7
660
🥈
我愛JS
📝1   💬9   ❤️1
72
🥉
御魂
💬1  
4
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付