淺談 REST 和 RESTFul API

RESTFul API的特色:前端

  1. 基於「資源」,數據也好、服務也好,在RESTFul設計裏一切都是資源。
  2. 無狀態。一次調用通常就會返回結果,全部的資源,均可以經過URI定位
  3. URL中一般不出現動詞,只有名詞
  4. URL語義清晰、明確
  5. 使用HTTP的GET、POST、DELETE、PUT來表示對於資源的增刪改查
  6. 使用JSON不使用XMLspa

RESTFul API的一些最佳實踐原則:設計

  1. 使用HTTP動詞表示增刪改查資源, GET:查詢,POST:新增,PUT:更新,DELETE:刪除
  2. 返回結果必須使用JSON
  3. HTTP狀態碼,在REST中都有特定的意義:200,201,202,204,400,401,403,500。好比401表示用戶身份認證失敗,403表示你驗證身份經過了,但這個資源你不能操做。
  4. API必須有版本的概念,v1,v2,v3
  5. 使用Token令牌來作用戶身份的校驗與權限分級,而不是Cookie。
  6. 使用 - 而不是使用 _ 作URL路徑中字符串鏈接。

REST 是基於HTTP,面向資源的,而資源是經過 URI 進行暴露。code

優勢:對uri進行了限制,只用於定義資源;規範統一,使得API適用於各類各樣的前端設備;使用了版本號(V1),更加規範
接口

缺點:API接口返回的數據一般是完整的數據模型,對客戶端不是很友好,可能只須要某幾個字段資源

相關文章
相關標籤/搜索