RESTFul API的特色:前端
- 基於「資源」,數據也好、服務也好,在RESTFul設計裏一切都是資源。
- 無狀態。一次調用通常就會返回結果,全部的資源,均可以經過URI定位
- URL中一般不出現動詞,只有名詞
- URL語義清晰、明確
- 使用HTTP的GET、POST、DELETE、PUT來表示對於資源的增刪改查
-
使用JSON不使用XMLspa
RESTFul API的一些最佳實踐原則:設計
- 使用HTTP動詞表示增刪改查資源, GET:查詢,POST:新增,PUT:更新,DELETE:刪除
- 返回結果必須使用JSON
- HTTP狀態碼,在REST中都有特定的意義:200,201,202,204,400,401,403,500。好比401表示用戶身份認證失敗,403表示你驗證身份經過了,但這個資源你不能操做。
- API必須有版本的概念,v1,v2,v3
- 使用Token令牌來作用戶身份的校驗與權限分級,而不是Cookie。
- 使用 - 而不是使用 _ 作URL路徑中字符串鏈接。
REST 是基於HTTP,面向資源的,而資源是經過 URI 進行暴露。
code
優勢:對uri進行了限制,只用於定義資源;規範統一,使得API適用於各類各樣的前端設備;使用了版本號(V1),更加規範
接口
缺點:API接口返回的數據一般是完整的數據模型,對客戶端不是很友好,可能只須要某幾個字段資源