1. 程式人生 > >網上整理的對於Rest和Restful api的理解

網上整理的對於Rest和Restful api的理解

gpo 信息 常用 method 安全 什麽 獲取 正常 stat

一、什麽是Rest?

REST不是"rest"這個單詞,而是幾個單詞縮寫 -- REpresentational State Transfer 直接翻譯:表現層狀態轉移,但這個翻譯正常人根本看不懂,找到的一種最好理解的說法是,URL定位資源,用HTTP動詞(GET,POST,DELETE,DETC)描述操作

二、Restful api接口有什麽特征?

REST描述的是在網絡中client和server的一種交互形式;REST本身不實用,實用的是如何設計 RESTful API(REST風格的網絡接口)。

1.URL的根路徑

http://api.chesxs.com/v1

2.需要有api版本信息

http://api.chesxs.com/v1

3.URL中只使用名詞指定資源,不用動詞,且推薦使用復數

服務(Server)提供的RESTful API中,URL中只使用名詞來指定資源,原則上不使用動詞。“資源”是REST架構或者說整個網絡處理的核心。比如:

http://api.chesxs.com/v1/cars // 獲取某個賬戶下的車輛列表
http://api.chesxs.com/v1/fences // 獲取某個賬戶下的圍欄列表

4. 用HTTP協議裏的動詞來實現資源的添加,修改,刪除等操作。即通過HTTP動詞來實現資源的狀態扭轉

GET 用來獲取資源,
POST 用來新建資源(也可以用於更新資源)。比如:POST http://api.chesxs.com/v1/car: 添加車輛
PUT 用來更新資源,
DELETE 用來刪除資源。比如:DELETE http://api.
chesxs.com/v1/cars 刪除某輛車 (在http parameter指定好友id)
UPDATE http://api.chesxs.com/v1/fence 更新圍欄信息

錯誤使用: GET http://api.chesxs.com/v1/deleteCar 刪除車輛

5.GET應該是安全的,不會改變資源狀態

這個應該很好理解,get的時候就只是獲取資源,而不涉及添加、更新、刪除資源。

6.使用正確的HTTP Status Code返回狀態碼

常用的有404,200,500,400等等。

總結,看一個標準的restful api要可以做到

看Url就知道要操作的資源是什麽,是操作車輛還是圍欄
看Http Method就知道操作動作是什麽,是添加(post)還是刪除(delete)
看Http Status Code就知道操作結果如何,是成功(200)還是內部錯誤(500)

網上整理的對於Rest和Restful api的理解