對RESTFUL接口的理解

1.什麼是rest

REST是英文representational state transfer(表象性狀態轉變)或者表述性狀態轉移;Rest是web服務的一種架構風格;它是一種設計風格 

2. Rest架構的主要原則

 網絡上的所有事物都被抽象爲資源 

每個資源都有一個唯一的資源標識符 

同一個資源具有多種表現形式(xml,json等) 

對資源的各種操作不會改變資源標識符 

所有的操作都是無狀態的 符合REST原則的架構方式即可稱爲RESTful

3.使用前後對比

在Restful之前的操作: 

http://127.0.0.1/user/query/1 GET 根據用戶id查詢用戶數據 

http://127.0.0.1/user/save POST 新增用戶 

http://127.0.0.1/user/update POST 修改用戶信息 

http://127.0.0.1/user/delete GET/POST 刪除用戶信息 

RESTful用法: 

http://127.0.0.1/user/1 GET 根據用戶id查詢用戶數據 

http://127.0.0.1/user POST 新增用戶 

http://127.0.0.1/user PUT 修改用戶信息 

http://127.0.0.1/user DELETE 刪除用戶信息

4.實踐要點

4.1 協議

api和用戶的通信協議總是使用https協議。

4.2 域名

1.儘量將api部署到專有域名之下,如:https://api.example.com

2.簡單不會進一步擴展的域名可以考慮放到主域名下,如:https://example.org/api

4.3 版本

4.3.1 應該將api的版本放置到url中,如:https://api.example.com/v1

4.3.2 也可以考慮將版本放置到http響應報文裏

4.4 路徑

在restful架構中,每個網址代表一種資源,所以網址中不能有動詞,只能有名詞,而且所用的名詞往往與數據庫的表格對應。

如:https://api.example.com/v1/emplyees

4.5 HTTP動詞

對資源的具體操作有http動詞表示。常用的http動詞有下面5種:

GET:從服務器取出資源

POST:在服務器中新建資源

PUT:更新服務器中資源

DELETE:刪除服務器中資源

PATCH:更新服務器資源

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章