什麼是Restfull APIphp
Restfull API 從字面就能夠知道,他是rest式的接口,因此就要先了解什麼是resthtml
rest 不是一個技術,也不是一個協議java
rest 指的是一組架構約束條件和原則,提供了一個新的架構設計思路,知足這些約束條件和原則的應用程序或設計就是 RESTfulweb
在REST規則中,有兩個基礎概念:對象、行爲後端
對象就是咱們要操做的對象,例如添加用戶的操做,那麼對象就是user瀏覽器
行爲有4種經常使用的:查看、建立、編輯、刪除架構
rest的提出者很巧妙的利用http現有方法來對應這4種行爲:前後端分離
GET - 查看
POST - 建立
PUT - 編輯
DELETE - 刪除spa
爲何用Restfull API.net
例如經常使用的MVC結構中,先後端的融合仍是比較緊密的,用戶訪問一個網址,例如 http://test.com/a.php,請求先發送到動態php處理,php中處理邏輯,而後使用頁面模板來輸出顯示給用戶
之前用戶主要就是用瀏覽器訪問,這樣的結構沒什麼問題,但如今移動客戶端愈來愈重要,顯然不能使用這個結構,須要爲移動客戶端開發接口
RESTful API 就能夠經過一套統一的接口爲全部客戶端提供web服務,實現先後端分離
再好比在一個大型系統中,多是多種開發語言一塊兒工做,使用 RESTful API 就能夠徹底不關心開發語言,以標準的接口來協同工做
Restfull API是怎麼定義的
下面經過幾個示例瞭解下Restfull API的定義方式
(1)查看全部任務
GET http://test.com/tasks
(2)新建一個任務
POST http://test.com/tasks
Data: title = Foobar
(3)根據ID查看一個任務
GET http://test.com/tasks/123
(4)更新任務
PUT http://test.com/tasks/123
Data: title = New
(5)刪除任務
DELETE http://test.com/tasks/123
能夠看到Restfull API的風格很是簡潔、統1、明確
例如查看操做,用普通方式的話,定義方式是任意的,如:
http://test.com/listall_tasks
'listall_tasks' 就是隨意定義的,經過這個名字才能夠看出是查看所有的意思,若是開發人員用了一個沒有明確意義的名字,那就須要看文檔或者代碼才能知道含義了
而Restfull API 經過 GET 方法就知道是查看操做,經過tasks就知道查看的對象是什麼
https://blog.csdn.net/u013063153/article/details/72811976
https://www.cnblogs.com/chinajava/p/5871310.html