結束了上一階段,現在要來介紹 Django RESR framework(DRF),DRF 是一個建立於 Django 用於製作 RESTful API 的框架,在開始之前先介紹一些基本概念。
API 全名為 Application Programming Interface,有人會將他比喻成餐廳中的服務生,負責在客人(客戶端)及廚房(伺服器)傳遞訂單及菜(資料)。有別於其他網站、桌面應用程式或手機 app,API 通常是軟體工程師才會使用到的工具,常用於前後端對接,或是與第三方服務間對接
。
API 沒有視覺化的介面,所以對於轉職的我來說,一開始真的很難理解其概念 XD。
這邊舉個簡單生活中的例子: 天氣預報 app,當打開手機的天氣預報 app,此 app 便會對氣象局 API 拿取天氣資料,資料經 app 處理後,轉換成精緻介面並顯示在手機上。
全名為 Representational State Transfer,為一種軟體架構風格,使用此風格做出的 API 便稱作 RESTful API。
以商店資料操作為例,若沒有依照 REST 規範,端點可能會長成這樣:
名稱 | 端點 | 說明 |
---|---|---|
Create store | api/createStore | 新增一個商店 |
Get single store | api/getStore/store_id | 獲取一個商店 |
List stores | api/getallStore | 獲取所有商店 |
Update store | api/updateStore/store_id | 修改一個商店 |
Delete store | api/deleteStore/store_id | 刪除一個商店 |
按照 REST 風格製作則是以下這樣:
名稱 | 端點 | HTTP 動詞 | 說明 |
---|---|---|---|
Create store | api/stores | POST | 新增一個商店 |
Get single store | api/stores/store_id | GET | 獲取一個商店 |
List stores | api/stores | GET | 獲取所有商店 |
Update store | api/stores/store_id | PUT | 修改一個商店 |
Delete store | api/stores/store_id | DELETE | 刪除一個商店 |
可以發現端點只有api/store
及api/store_id
兩種,很一致,主要差別是在 HTTP 動詞。一比較是不是就發現 REST 簡潔多了呢!!
下一篇來介紹 REST 架構的規範,明天見~