回顧與練習
關鍵要點
- 是一個程式向另一個程式提供的請求選單,也是一份契約:按約定的方式提問,就會得到約定形狀的回答。大多數 API 缺陷,都是某一方破壞了這份契約。
- 是回答返回時的格式——由鍵和值構成,用物件
{ }和陣列[ ]搭建,並且會巢狀。資料型別有 string、number、boolean、null、array、object。 - 字串與數字的陷阱(
42對"42")以及缺失與null之分,是最常見的形狀缺陷。你現在能讀 JSON 了——遇到行為怪異時,去檢查值的型別。 - API 金鑰就是密碼。絕不要傳送到瀏覽器,絕不要提交進 ,把它存在環境變數裡。洩露的金鑰應當立即輪換(rotate)。
- 留意速率限制(
429)和按量計費——AI 寫的、毫不停頓地呼叫付費 API 的迴圈,正是你收到四位數賬單的途徑。先讀定價,並設定預算提醒。
動手試試
在瀏覽器裡找一個無需金鑰的免費 API——比如在新標籤頁直接開啟 https://api.github.com/users/octocat。你會看到一段原始 JSON 響應。像讀表單一樣讀它:挑出物件 { },如果有陣列就找出來,併為三個不同的值說出它們的型別(哪些是字串?數字?布林值?有沒有是 null 的?)。你剛剛做的,正是本章要求你對 AI 接入的每個 API 響應都做的那項檢查。
本章提示詞
我正在呼叫一個 API,作為初學者,我想自己檢查資料的形狀。
這是真實的文件(示例請求 + 示例響應):
<把 API 文件裡的示例請求和 JSON 響應貼上到這裡>
- 在編寫解析程式碼之前,先給我看這次呼叫返回的原始 JSON,
並指出那些鍵、它們的型別,以及任何可能為 null 或缺失的東西。
- 確認我的程式碼讀取的鍵在那個響應裡確實存在。
- 確保 API key 是從伺服器上的環境變數讀取的,
絕不要硬編碼或傳送到瀏覽器。
- 告訴我如果這次呼叫失敗、超時或觸發速率限制會發生什麼。