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:更新服務器資源