← 回到小林の筆記

READING NOTE

串 API 前,我會先把資料邊界畫清楚

真正會拖垮串接進度的,通常不是少打一支 endpoint,而是欄位命名、失敗情境和回傳規則一開始沒說清楚。

約 3 分鐘

串 API 前,我會先把資料邊界畫清楚

QUICK READ

閱讀重點

重點摘要

  • API 串接前最重要的不是先寫 fetch,而是先定資料邊界。
  • 欄位、狀態、錯誤格式和重試規則沒定好,前後端會一路互相補洞。
  • 我會先整理輸入、輸出、失敗情境和誰負責修復。
  • 資料邊界清楚,UI、後台和通知流程才不會後面一直重拆。
文章目錄

我最近在處理官網和系統的串接時,最常花時間的不是寫 fetch 或打 token,而是把資料邊界講清楚。API 真正麻煩的地方,通常在欄位、狀態和失敗流程,不在呼叫本身。

如果一開始只問「endpoint 在哪裡」,很容易做到一半才發現欄位意義不一致、錯誤格式沒定、重送會重複建資料。這些都不是前端或後端單方面能補掉的問題。

這篇核心結論

串 API 前先把資料邊界畫清楚,後面才不會一直用程式碼補合約沒講清楚的洞。

先確認輸入和輸出,不要先把程式接上去

我會先問:誰送資料、誰接資料、欄位來源是哪裡、哪些欄位必填、哪些欄位可以缺。這些看起來很基本,但只要一個欄位含義不清,UI、後台和報表都會被影響。

例如同樣叫 status,有的系統代表付款狀態,有的代表審核狀態,有的代表任務處理狀態。名字一樣,不代表邊界一樣。

失敗情境比成功情境更值得先講

成功情境通常只有一條路:送出、收到、完成。但真實系統會遇到逾時、重複送出、第三方回錯、資料不完整、權限不足、使用者中途離開。這些如果沒有先定,開發時就會一直補例外。

情境 要先定義 沒定義會怎樣
逾時 前端顯示、後端是否重試 使用者不知道成功或失敗
重複送出 idempotency key 或防重規則 重複建單、重複扣款或重複通知
權限不足 錯誤碼與導回路徑 畫面只剩 generic error
資料缺漏 哪一層驗證、誰負責補 前後端互相猜欄位規則

我現在串 API 會先畫的不是流程圖,而是邊界表

只要把誰送什麼、誰回什麼、哪裡可能失敗、失敗了怎麼補救先寫清楚,後面的開發和測試都會快很多。這也是為什麼我現在做 API integration,第一步常常不是進 IDE,而是先整理欄位。

邊界表最少包含

  • 欄位名稱、型別、必填與範例值。
  • 成功回應與每種錯誤回應格式。
  • 重試、取消、逾時和重複送出的處理方式。
  • 資料來源、資料擁有者和修復責任。

等這些規則穩了之後,再去接 UI、接後台、接通知流程,整條路才不會一路重拆。

常見 FAQ

FAQ

  1. API 文件已經有了,還需要邊界表嗎?
    需要。API 文件通常描述接口,但邊界表會補上實際產品流程中的責任、錯誤和重試規則。
  2. 小專案也要這麼做嗎?
    可以簡化,但至少要寫清楚欄位、錯誤和重複送出規則,避免後期重工。
  3. 誰該負責資料邊界?
    通常需要前端、後端和產品一起定,因為它同時影響畫面、資料庫和使用者流程。

結論

API 串接不是把資料接起來而已,而是把責任邊界接清楚。邊界先定好,程式才不用一直替模糊規則擦屁股。

TOP