每天一道Java題[7]
阿新 • • 發佈:2017-05-20
java 什麽是 我們 present 使用 指定 以及 let app
題目
什麽是REST原則,請解釋RESTful架構,以及其設計思想?
解答
REST,全稱為Representation State Transfer,是一種互聯網軟件的架構原則。凡是滿足REST原則的,我們都稱它為RESTful架構。
對RESTful架構的理解,有以下幾點:
- 資源,網絡上的一個實體,或者是一個具體的信息。通常使用一個URI來表示一種資源。
- Representation,可理解為資源的表現層,資源的具體表現形式。在http請求的頭信息Accept和Content-Type字段指定具體表現形式,如application/json
- State Transfer,可理解為狀態轉移,客戶端要對服務器資源進行操作,必須通過某種手段,讓服務器上的資源發生狀態變化,這就是所謂的state Transfer了。通常客戶端通過四個HTTP動詞(GET、PUT、POST、DELETE),對服務端資源進行操作,實現State Transfer。
理解上述幾點,基本就對RESTful架構有了大概的了解了。
RESTful API設計思想關鍵點如下:
- 一定要使用https,不要http重定向
- 標明專屬api域名或者子目錄,如https://www.huangzijian.me/api/
- 表明版本號,如https://www.huangzijian.me/api/v1/
- 因為每一個URI表示的是一個資源,故路徑上應該采用名詞來表示,而不要用動詞。由於通常情況下均表示一類資源,因此要采用復數,如https://www.huangzijian.me/api/v1/exams
- 采用HTTP動詞的GET、POST、PUT、DELETE分表表示資源的獲取、新增、更新和刪除。
- 註意服務器向客戶端返回的狀態碼及其提示信息。
- 建議傳輸的數據格式采用JSON。
參考資料
1.RESTful API 設計指南(http://www.ruanyifeng.com/blog/2014/05/restful_api.html)
2.理解RESTful架構(http://www.ruanyifeng.com/blog/2011/09/restful)
每天一道Java題[7]