Restfull API 示例


什么是Restfull API

Restfull API 從字面就可以知道,他是rest式的接口,所以就要先了解什么是rest

rest 不是一個技術,也不是一個協議

rest 指的是一組架構約束條件和原則,提供了一個新的架構設計思路,滿足這些約束條件和原則的應用程序或設計就是 RESTful

在REST規則中,有兩個基礎概念:對象、行為

對象就是我們要操作的對象,例如添加用戶的操作,那么對象就是user

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

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

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

為什么用Restfull API

例如常用的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的風格非常簡潔、統一、明確

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

http://test.com/listall_tasks

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

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

 

 

HTTP API 設計指南(中文版)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM