API 路由與遷移

目的

這裡整理新舊專案 API path、endpoint、controller/action 的查詢與搬移流程。

這不是單純設定來源,而是 endpoint migration 的工作流程入口。當你要查一個 URL 會進哪支程式、要新增 legacy-compatible endpoint、或發現 new API 有 method 但 path 打不到時,先看這裡。

目前文件

文件說明
pro360_api_82 API Migration專案 endpoint inventory、detail doc、search_addquote_request_copy 與 Postman 驗證資料
recently_updated_apis跨 API 的近期搬移、實測與切換驗證摘要
new_api_routingpro360_api_82 的 RouterV3、Mapping / Origin / File fallback 規則
legacy_cakephp_routingget-lancer-php56 的 CakePHP routes、cms_routes、controller/action convention
endpoint_migration_checklist從 legacy endpoint 搬到 new API 時的查詢、實作、測試、文件 checklist
api_response_contractlegacy API migration 時 response shape 必須完全對齊,避免自行新增 error:0 等欄位
cors_header_ownershipCORS / HTTP header 在 PHP、Nginx、CDN 間的唯一 owner 規則與排查順序
案例/provider_accept_narrow_match/quote_bids/provider_accept_narrow_match/<quote_bid_id>.json 示範完整 route trace

什麼時候看這裡

  • 要查某個 URL 對應哪個 endpoint / controller action。
  • 要搬移 legacy API。
  • 要新增 legacy-compatible path。
  • Endpoint/V1/*.php 已有 method,但實際 URL 打不到。
  • path 參數、rawParams、named params、.json extension 行為不確定。
  • 要判斷需不需要補 RouterRule/Mapping.php

高階查詢順序

legacy URL
-> legacy CakePHP controller/action
-> legacy model/domain method
-> new API Mapping.php
-> new API Origin/File fallback
-> Endpoint/V1 action
-> rawParams / named params / body
-> auth/session/security hash
-> tests / docs

和其他文件的關係

維護原則

  1. route 規則放這裡,不要散落在各 API migration detail。
  2. 可重用的 business rule 放 業務流程/;單一專案的搬移證據放 pro360_api_82 API Migration
  3. Mapping.php 新增相容 path 時,要同步更新相關 migration 文件或 checklist 結論。
  4. 不要把 temporary access log 統計放進長期 route 文件;可放在專案 migration detail 或案例文件。