有關(guān)restful概念請(qǐng)看阮一峰的文章,http://www.ruanyifeng.com/blog/2014/05/restful_api.html
這里總結(jié)一下:
什么是RESTful架構(gòu):
(1)每一個(gè)URI代表一種資源;
(2)客戶端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層;
(3)客戶端通過(guò)四個(gè)HTTP動(dòng)詞,對(duì)服務(wù)器端資源進(jìn)行操作,實(shí)現(xiàn)"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。
HTTP動(dòng)詞:
GET(SELECT):從服務(wù)器取出資源(一項(xiàng)或多項(xiàng))。
POST(CREATE):在服務(wù)器新建一個(gè)資源。
PUT(UPDATE):在服務(wù)器更新資源(客戶端提供改變后的完整資源)。
PATCH(UPDATE):在服務(wù)器更新資源(客戶端提供改變的屬性),這個(gè)很少用。
DELETE(DELETE):從服務(wù)器刪除資源。
HTTP 狀態(tài)代碼 (這里是參考RESTful API 設(shè)計(jì)最佳實(shí)踐,http://www.oschina.net/translate/best-practices-for-a-pragmatic-restful-api?lang=chs&page=4#)
HTTP定義了一套可以從API返回的有意義的狀態(tài)代碼。 這些代碼能夠用來(lái)幫助API使用者對(duì)不同的響應(yīng)做出相應(yīng)處理。我已經(jīng)把你必然會(huì)用到的那些列成了一個(gè)簡(jiǎn)短的清單:
200 OK (成功) - 對(duì)一次成功的GET, PUT, PATCH 或 DELETE的響應(yīng)。也能夠用于一次未產(chǎn)生創(chuàng)建活動(dòng)的POST
201 Created (已創(chuàng)建) - 對(duì)一次導(dǎo)致創(chuàng)建活動(dòng)的POST的響應(yīng)。 同時(shí)結(jié)合使用一個(gè)位置頭信息指向新資源的位置- Response to a POST that results in a creation. Should be combined with a Location header pointing to the location of the new resource
204 No Content (沒(méi)有內(nèi)容) - 對(duì)一次沒(méi)有返回主體信息(像一次DELETE請(qǐng)求)的請(qǐng)求的響應(yīng)
304 Not Modified (未修改) - 當(dāng)使用HTTP緩存頭信息時(shí)使用304
400 Bad Request (錯(cuò)誤的請(qǐng)求) - 請(qǐng)求是畸形的, 比如無(wú)法解析請(qǐng)求體
401 Unauthorized (未授權(quán)) - 當(dāng)沒(méi)有提供或提供了無(wú)效認(rèn)證細(xì)節(jié)時(shí)。如果從瀏覽器使用API,也可以用來(lái)觸發(fā)彈出一次認(rèn)證請(qǐng)求
403 Forbidden (禁止訪問(wèn)) - 當(dāng)認(rèn)證成功但是認(rèn)證用戶無(wú)權(quán)訪問(wèn)該資源時(shí)
404 Not Found (未找到) - 當(dāng)一個(gè)不存在的資源被請(qǐng)求時(shí)
405 Method Not Allowed (方法被禁止) - 當(dāng)一個(gè)對(duì)認(rèn)證用戶禁止的HTTP方法被請(qǐng)求時(shí)
410 Gone (已刪除) - 表示資源在終端不再可用。當(dāng)訪問(wèn)老版本API時(shí),作為一個(gè)通用響應(yīng)很有用
415 Unsupported Media Type (不支持的媒體類型) - 如果請(qǐng)求中包含了不正確的內(nèi)容類型
422 Unprocessable Entity (無(wú)法處理的實(shí)體) - 出現(xiàn)驗(yàn)證錯(cuò)誤時(shí)使用
429 Too Many Requests (請(qǐng)求過(guò)多) - 當(dāng)請(qǐng)求由于訪問(wèn)速率限制而被拒絕時(shí)