iT邦幫忙

2025 iThome 鐵人賽

DAY 30
0

在理解了API的設計原則、測試方式與資料結構之後,可以嘗試從使用者轉為設計者,想像如果要自己設計一個 API,它會長什麼樣子?這不僅是技術練習,也是思考邏輯與資料表達的延伸。

假設想設計一個「每日一句 API」,讓使用者每次發出請求,都能取得一句勵志語錄。這樣的API雖然簡單,但能涵蓋最基本的RESTful思維:清楚的端點設計、結構化的回應資料,以及可擴充的操作方式。

設計可以從最基礎的端點開始:

GET /api/quote

當使用者發送請求時,伺服器可以回傳如下的JSON:

{
  "id": 7,
  "author": "Maya Angelou",
  "quote": "You will face many defeats in life, but never let yourself be defeated."
}

這是一個典型的API回應結構,清楚標示每個欄位的意義。
如果要進一步設計更多功能,還可以考慮以下端點:

  • GET /api/quote/random:回傳一筆隨機名言
  • POST /api/quote:新增一句新的語錄
  • GET /api/quote/author/Maya:依作者查詢名言

這樣的設計不僅方便使用者,也讓API的邏輯更完整。
若要快速模擬實際運作,可以用幾行Python實現一個簡單的版本:

import random

quotes = [
    {"author": "Maya Angelou", "quote": "You will face many defeats in life, but never let yourself be defeated."},
    {"author": "Steve Jobs", "quote": "Stay hungry, stay foolish."},
    {"author": "Albert Einstein", "quote": "Imagination is more important than knowledge."}
]

quote = random.choice(quotes)
print("今日名言:", quote["quote"], "——", quote["author"])

這段程式的邏輯與 API 十分類似:系統從「資料庫」(這裡是清單)中挑出一筆資料,再將它以固定結構「回傳」。
之後將這段邏輯改寫成Flask或FastAPI等框架,就能成為真正的可用API。

透過這個練習,可以實際體會API設計的核心精神:

  • 資料結構要清楚:每個欄位都應有明確的意義與型態。
  • 命名需一致:端點、欄位名稱與回傳格式最好保持統一風格。
  • 使用者導向思維:設計API時要先想「別人會怎麼使用它」。

當能自己構思並設計出一個API,不只是技術能力的展現,更代表已經理解資料交換的邏輯與設計思維。


上一篇
Day29 API 金鑰管理
下一篇
Day31 API 學習總結
系列文
API 實戰入門從設計到驗證31
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言