2024-09-01|閱讀時間 ‧ 約 24 分鐘

新手村導讀 - 8: RESTful API

今天我們來介紹現今大多公司會使用的 API 模式 — RESTful API,由於我先假定在座的各位應該都是基礎工程師、應該都知道 API 是什麼(吧),因此我們直接從 Restful 的部分開始吧。

簡介

REST ,全名為 Representational State Transfer,簡單來說是一種將客戶端與服務實作分離的風格。我們將資源放在那裡,定義 Get、Post等方式去取得對應資源。相較於其他格式,RESTful 更加輕量,並且現代大多的 Web 框架都支持這種格式。

關鍵知識

  1. 資源: RESTful 將所有內容都視為一種資源,而 HTTP 方法就代表使用者要如何與這份資源互動,因此 URL 中不應該再出現其他動詞,取而代之的是名詞或是複合名詞。
  2. 資源格式: RESTful 支援多種格式,例如 JSON、HTML、XML 等。
  3. 無狀態性: 不會有緩存,因此每次請求都應該要有所有所需的資訊。

我的小經驗

在實務上,我們很常會需要對同一個資源做不同操作(如同上述第 1 點),例如取得訂單、調整訂單等,在一般狀況下我們就會需要 getOrderaddOrder 兩個 API 接口,不過在 RESTful 的架構下,我們可以直接用統一接口、不同 HTTP 方法去處理它們,例如:

Route::Get('/order','OrderController@index');
Route::Post('/order','OrderController@add');

這樣對於文件上的統合比較方便,程式上的擴展也會更有彈性、更具可維護性喔。

參考資料:

  1. API 是什麼? RESTful API 又是什麼?. API ? RESTful API ? HTTP ? | by itsems | itsems_frontend | Medium
  2. REST API 設計的 4 個成熟度級別 (restcase.com)
  3. Web API | RESTful API 的優點、缺點、注意事項 | Lily程式學習筆記 | Programming Learning Notes - 點部落 (dotblogs.com.tw)
  4. Web API 設計最佳做法 - Azure Architecture Center | Microsoft Learn
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.