Restful API是什麼?初探Restful API,傳統接口寫法與Restful API接口寫法區別

Restful API是什麼?初探Restful API?爲什麼要用Restful API?傳統接口寫法與Restful API接口寫法區別,帶着這些問題我們來具體瞭解下Restful API

目錄

什麼是Restful API?

爲什麼用Restful API?

Restful API是怎麼定義的?定義規則方法:

傳統接口寫法與Restful API 接口寫法區別:


什麼是Restful API?

Restful API 從字面就可以知道,他是rest式的接口,所以就要先了解什麼是rest。rest 不是一個技術,也不是一個協議。rest 指的是一組架構約束條件和原則,提供了一個新的架構設計思路,滿足這些約束條件和原則的應用程序或設計就是 RESTful。在REST規則中,有兩個基礎概念:對象、行爲。對象就是我們要操作的對象,例如添加用戶的操作,那麼對象就是user

行爲有4種常用的:查看、創建、編輯、刪除

rest的提出者很巧妙的利用http現有方法來對應這4種行爲:

  • GET - 查看
  • POST - 創建
  • PUT - 編輯
  • DELETE - 刪除

爲什麼用Restful API?

例如常用的MVC結構中,前後端的融合還是比較緊密的,用戶訪問一個網址,例如:http://www.91tuoke.com/a.php,請求先發送到動態php處理,php中處理邏輯,然後使用頁面模板來輸出顯示給用戶。

以前用戶主要就是用瀏覽器訪問,這樣的結構沒什麼問題,但現在移動客戶端越來越重要,顯然不能使用這個結構,需要爲移動客戶端開發接口。

RESTful API 就可以通過一套統一的接口爲所有客戶端提供web服務,實現前後端分離。

再比如在一個大型系統架構設計中,可能是多種開發語言一起工作,使用 RESTful API 就可以完全不關心開發語言,以標準的接口來協同工作

Restful API是怎麼定義的?定義規則方法:

下面通過幾個示例瞭解下Restful API的定義方式,其實就是操作:

添加(POST)
查詢(GET)
更新編輯修改(GET/POST/PUT)
刪除(DELETE)

(1)查看所有任務

GET http://www.gookang.com/tasks

(2)新建一個任務

POST http://www.gookang.com/tasks

傳遞Data: title = Foobar

(3)根據ID查看一個任務

GET http://www.gookang.com/tasks/123

(4)更新任務

PUT http://www.gookang.com/tasks/123

傳遞Data: title = New

(5)刪除任務

DELETE http://www.nongyejing.com/tasks/123

可以看到Restful API的風格非常簡潔、統一、明確

例如查看操作,用普通方式的話,定義方式是任意的,如:

http://www.haopin.org/listall_tasks

‘listall_tasks’ 就是隨意定義的,通過這個名字纔可以看出是查看全部的意思,如果開發人員用了一個沒有明確意義的名字,那就需要看文檔或者代碼才能知道含義了

而Restful API 通過 GET 方法就知道是查看操作,通過tasks就知道查看的對象是什麼。

傳統接口寫法與Restful API 接口寫法區別:

   說到API接口設計有的喜歡用Web Service,有的喜歡用WCF,當然也有還在用最原始的ashx,aspx頁面的。無論採用什麼方式能很好的滿足業務需求就ok,但是不同的方式在擴展性、易用性,可維護性都有一定的差別。如今移動移動互聯網正如火如荼,各種終端,各種平臺,各種開發語言也是層出不窮,所以要設計出能滿足這些要求的API也就顯得至關重要了。

一個文件操作接口,傳統模式

api/getfile.php - 獲取文件信息,下載文件
api/uploadfile.php - 上傳創建文件
api/deletefile.php - 刪除文件

RESTful:

api/file 只需要這一個接口

GET 方式請求 api/file - 獲取文件信息,下載文件
POST 方式請求 api/file - 上傳創建文件
DELETE 方式請求 api/file - 刪除某個文件

這樣一來簡化了API接口的操作性和統一性。

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