RESTful API 的 REST,全名是 Representational State Transfer,如果看不懂是什麼意思是很正常的 XDD,首先要記住的是,RESTful 它不是一種協定,只是一種制定 API 的風格,下面我們就來簡單介紹什麼樣的 API 叫做 RESUful API。
非 RESTful 的 API 做法可能會長這樣
功能 | 方法 | APIUrl |
---|---|---|
獲得資料 | GET | /getData |
新增資料 | POST | /createData |
刪除資料 | POST | /deleteData/1 |
如果用 RESful 風格開發的 API 會像這樣
功能 | 方法 | APIUrl |
---|---|---|
獲得資料 | GET | /data |
新增資料 | POST | /data |
刪除資料 | DELETE | /data/1 |
所以做成 RESTful API 有什麼好處嗎?以下整理了 RESTful API 的特性:
有唯一的 URL 表示資源位置,統一的 API 接口
不同的設計者可能會把 API 的名稱設計的不一樣,沒有統一的命名方式,造成引用各家 API 時,都要理解所有設計命名規則才可以使用,RESTful API 設計了唯一的 URI 定位資源,將不同的動作充分利用不同的 HTTP Method 來完成。無狀態性
不同的資源彼此不互相依賴,也不用依賴特定的狀態才可以取用資源,透過不同的 URI 就可以取用不同的資源。
參考資料:
API 是什麼? RESTful API 又是什麼?式架構? 寧靜式(RESTful)的Web API是現在的潮流?](https://progressbar.tw/posts/53)