Skip to content

Middleware

中介層 / 中介軟體

01你是不是遇到這個 / THE SYMPTOM

每一支 API 我都要重複寫一次「檢查有沒有登入」「記錄這次請求」「擋掉沒權限的人」,貼來貼去好多份,想找個地方統一處理所有進來的請求。

↑ 如果你點頭了,你要的關鍵字就是 Middleware

02這是什麼 / DEFINITION

一種架構模式:在請求真正到達你的處理邏輯之前(或回應送出之後),插入一層可串接的處理函式,用來統一做驗證、記錄、限流、改寫等跨多支端點的共用工作。

03什麼時候用 / WHEN TO USE

當你有一段邏輯需要套用在很多條路由/請求上(登入驗證、記 log、CORS、限流、語系判斷)、不想在每支 handler 裡重複時使用。

04怎麼跟 AI 說 / HOW TO ASK

直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:

請寫一個 middleware(中介層),攔截所有 /api 底下的請求,先驗證 JWT、沒登入就回 401,驗證過再放行到後面的 handler。
05常見坑 / WATCH OUT

注意執行順序:middleware 是一條鏈,排錯順序(例如把驗證放在記 log 後面)會出問題。也別把核心商業邏輯塞進 middleware,它只該做「橫切關注點」這類共用前置/後置處理。

06相關的詞 / RELATED