RESTful API

更新 發佈閱讀 4 分鐘

RESTful API 是一種遵循 REST(表述性狀態轉移)架構風格設計的網路服務介面,強調以資源為中心、使用標準 HTTP 方法、無狀態通訊與一致介面,讓用戶端與伺服端鬆耦合、可擴展且易於維護。

核心約束

  • 客戶端-伺服端分離:前後端職責分離,可獨立演進,只需遵守約定的資源契約與格式。
  • 無狀態:每個請求都須攜帶完成處理所需資訊,伺服端不保存會話狀態,提升可擴展性與容錯性。
  • 可快取:回應需明確標示可否快取與有效期,以降低延遲與伺服壓力。
  • 分層系統:客戶端不需知道是否經過中介層(閘道、快取、負載平衡、驗證),有助安全與伸縮。
  • 一致介面:資源以 URI 識別;以標準方法操作(GET/POST/PUT/PATCH/DELETE);訊息自我描述;可選用 HATEOAS 提供超連結導引後續動作。
  • 按需下載程式碼(可選):伺服端可回傳可執行程式碼以擴展用戶端行為(較少在API中使用)。

資源導向設計

  • 資源命名:以名詞與階層化路徑表示,例如 /users、/users/{id}、/orders/{id}/items。
  • 標準方法與語意:
  • GET 讀取資源(安全且冪等)
  • POST 建立資源或執行非冪等動作
  • PUT 以完整表示更新(冪等)
  • PATCH 局部更新
  • DELETE 刪除(冪等)。
  • 回應碼與標頭:合理使用 2xx/4xx/5xx;Location 指向新資源;ETag/Last-Modified 支援條件式請求與快取。

回應格式與契約

  • 常用 JSON(或 XML/CSV 等),明確 Content-Type、Accept;版本化可用 Accept 版本或 URI 前綴(/v1)。
  • 文件化:以 OpenAPI/Swagger 描述端點、參數與回應,提升可用性與一致性。

設計最佳實踐

  • 冪等與重試:確保 PUT/DELETE 冪等;設定超時、退避重試與錯誤分類。
  • 分頁/篩選/排序:提供 query 參數(如 page、limit、sort、filter),並在回應提供分頁中繼資訊與連結。
  • 安全性:全站 TLS;OAuth2/OIDC/JWT;最小權限;輸入驗證與速率限制;審計記錄。
  • 可觀測性:結構化日誌、追蹤ID(Correlation-Id)、標準化錯誤格式、度量與告警。
  • 版本治理:語義化變更策略,避免破壞性更新;提供遷移期與棄用公告。

何時不選 REST

  • 強流程、雙向串流、低延遲推送:考慮 gRPC、WebSocket。
  • 需要查詢彈性與聚合減少過/少取數:考慮 GraphQL。
  • 事件驅動整合:採用事件流/訊息匯流排(如 Kafka),以 REST 作為查詢介面。

簡言之,RESTful API 透過資源導向與標準化 HTTP 互動,實現鬆耦合、可擴展、可快取與易治理的服務介面;遵循無狀態、一致介面、分層與快取等關鍵約束與最佳實踐,是現代後端與系統整合的主流設計範式。

留言
avatar-img
郝信華 iPAS AI應用規劃師 學習筆記
44會員
572內容數
現職 : 富邦建設資訊副理 證照:經濟部 iPAS AI應用規劃師 初級+中級(數據分析) AWS AIF-C01 AWS CLF-C02 Microsoft AI-900 其他:富邦美術館志工
2025/09/15
SOA(Service-Oriented Architecture,面向服務架構)是一種以「服務」為邏輯單位來設計與構建分散式系統的軟體架構風格。核心思想是將可重用的業務能力封裝為鬆耦合、可組合、透過標準介面存取的服務,促進跨系統整合、敏捷開發與治理。 核心理念 服務是自治的、明確定義契約的業務
2025/09/15
SOA(Service-Oriented Architecture,面向服務架構)是一種以「服務」為邏輯單位來設計與構建分散式系統的軟體架構風格。核心思想是將可重用的業務能力封裝為鬆耦合、可組合、透過標準介面存取的服務,促進跨系統整合、敏捷開發與治理。 核心理念 服務是自治的、明確定義契約的業務
2025/09/15
什麼是 XAI 工具 XAI 工具協助解釋與審視模型的輸出與行為,包括特徵重要度、局部決策依據、對抗與偏見偵測、資料與概念漂移、以及端到端監控與稽核。它們可分為「訓練後解釋」與「可解釋模型」兩大類,並延伸到MLOps監控與治理。 常見方法族群 全域解釋:特徵重要度、全域部分依賴關係(PDP/
2025/09/15
什麼是 XAI 工具 XAI 工具協助解釋與審視模型的輸出與行為,包括特徵重要度、局部決策依據、對抗與偏見偵測、資料與概念漂移、以及端到端監控與稽核。它們可分為「訓練後解釋」與「可解釋模型」兩大類,並延伸到MLOps監控與治理。 常見方法族群 全域解釋:特徵重要度、全域部分依賴關係(PDP/
2025/09/15
最簡潔的結論:偏好多雲與可攜性選擇用Terraform/OpenTofu;深度綁定 AWS 與原生整合則選CloudFormation。 核心差異 生態與範圍:Terraform 為多雲(AWS/Azure/GCP/K8s 等),CloudFormation 嚴格 AWS 原生,對多雲/混雲策略
2025/09/15
最簡潔的結論:偏好多雲與可攜性選擇用Terraform/OpenTofu;深度綁定 AWS 與原生整合則選CloudFormation。 核心差異 生態與範圍:Terraform 為多雲(AWS/Azure/GCP/K8s 等),CloudFormation 嚴格 AWS 原生,對多雲/混雲策略
看更多
你可能也想看
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
透過零售業的數位轉型,消費者期待獲得更多元的服務體驗。API 技術在電商、庫存管理和訂單處理等方面發揮關鍵作用,幫助企業提升效率並擴大營運範圍。API 管理平台為企業帶來高彈性、安全的 API 策略,加速數位轉型,提高企業韌性。昕力資訊的 API 管理平台為企業提供強力支持,助力產業進步。
Thumbnail
透過零售業的數位轉型,消費者期待獲得更多元的服務體驗。API 技術在電商、庫存管理和訂單處理等方面發揮關鍵作用,幫助企業提升效率並擴大營運範圍。API 管理平台為企業帶來高彈性、安全的 API 策略,加速數位轉型,提高企業韌性。昕力資訊的 API 管理平台為企業提供強力支持,助力產業進步。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
ts-rest 可以實現從服務器到客戶端的全型別安全,可以有效降低前後端溝通血流成河的機率。(´,,•ω•,,)
Thumbnail
ts-rest 可以實現從服務器到客戶端的全型別安全,可以有效降低前後端溝通血流成河的機率。(´,,•ω•,,)
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
當這產品的這個 API 被呼叫,再從回傳內容的某個欄位欄位來判斷,只要“這個欄位”顯示 false 就代表不支援」,雖然這樣的設計也能滿足功能需求…
Thumbnail
當這產品的這個 API 被呼叫,再從回傳內容的某個欄位欄位來判斷,只要“這個欄位”顯示 false 就代表不支援」,雖然這樣的設計也能滿足功能需求…
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
一、什麼是Web Service?   簡單說就是「服務」的概念,人與人間、電腦與電腦間都是一樣的,一個是人與人的一來一回交流,媒介是語言中文,另一個則是個人電腦與伺服器的交流,媒介是HTTP/Internet,那麼有了媒介,就會有共同格式才能做
Thumbnail
一、什麼是Web Service?   簡單說就是「服務」的概念,人與人間、電腦與電腦間都是一樣的,一個是人與人的一來一回交流,媒介是語言中文,另一個則是個人電腦與伺服器的交流,媒介是HTTP/Internet,那麼有了媒介,就會有共同格式才能做
Thumbnail
※ 靜態資源回傳 ※ 什麼是靜態資源: 定義:是指事先準備好的資源,這些資源在伺服器上是靜態的、不會隨著每個請求而改變。 資源通常包括: 靜態 HTML 文件。 CSS。 圖像(Image)。 Video。 字體文件:google fonts。 favicon:網頁名稱旁邊的ico
Thumbnail
※ 靜態資源回傳 ※ 什麼是靜態資源: 定義:是指事先準備好的資源,這些資源在伺服器上是靜態的、不會隨著每個請求而改變。 資源通常包括: 靜態 HTML 文件。 CSS。 圖像(Image)。 Video。 字體文件:google fonts。 favicon:網頁名稱旁邊的ico
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News