讓人混淆的稱呼
能點進來看的你應該都知道傳統的API是甚麼,但稱得上做Rest(或RESTful,其實指同一樣東西)API的即使用很多做了很多年開發的都不太清楚,因為業界對RestAPI的定義比較含糊。
所以這次我會讓你了解下RestAPI所擁有的4大特質,沒有這4大特質的也不算得上叫RestAPI了。
基於資源的架構(Resource Based)
RESTful API 的設計圍繞資源,這些資源是可以通過特定的 URL(統一資源定位符)存取和操作的實體或物件。資源可以代表資料實體,如用戶(Users)、產品(products)、訂單(orders)等,在這請注意英文字傳統上會用複數(plural form),該資料英文詞需要加s的話記得加上。
統一介面(Uniform Interface)
RESTful API 利用標準的 HTTP 方法(GET讀取 、POST創建、PUT整筆資源更新、PATCH部份資料更新、DELETE刪除)對資源進行CRUD 操作。
RESTful API 利用標準除了HTTP 方法外還有它使用的資料校換格式,一般會使用XML(老舊點)和JSON(現代點)。
無狀態通信-Stateless
RESTful API 遵循無狀態通信模型,這意味著每個從客戶端到服務器的請求都必須包含服務器理解和處理請求所需的所有必要信息。服務器不會在請求之間存儲任何客戶端上下文。每個API的請求都是獨立於彼此,互不相干。
API請求結果能被快取或緩存—Cacheable
RESTful API 的回應應該是可快取或緩存的,無論是由用戶端或中間端進行快取,都能以提高性能和。
使用Rest API請求實戰示範
以下影片我示範了以Javascript這種語言去請求RESTful API 去拿到現在Bitcoin的價格,並且把價格放到自己的網頁中。
Rest API學習資源
RESTful API的建造不是很難,但也不是那麼簡單,如你有興趣學習下建造一個Rest API,還順便學習下前後端的網絡安全和應用程式架構相關知識的話,可以看下我的NodeJS進階後端精讀課程
這次介紹就到這裡,希望對你有幫助,謝謝🙏