1. 程式人生 > >每天一道Java題[7]

每天一道Java題[7]

java 什麽是 我們 present 使用 指定 以及 let app

題目

什麽是REST原則,請解釋RESTful架構,以及其設計思想?

解答

REST,全稱為Representation State Transfer,是一種互聯網軟件的架構原則。凡是滿足REST原則的,我們都稱它為RESTful架構。

對RESTful架構的理解,有以下幾點:

  1. 資源,網絡上的一個實體,或者是一個具體的信息。通常使用一個URI來表示一種資源。
  2. Representation,可理解為資源的表現層,資源的具體表現形式。在http請求的頭信息Accept和Content-Type字段指定具體表現形式,如application/json
  3. State Transfer,可理解為狀態轉移,客戶端要對服務器資源進行操作,必須通過某種手段,讓服務器上的資源發生狀態變化,這就是所謂的state Transfer了。通常客戶端通過四個HTTP動詞(GET、PUT、POST、DELETE),對服務端資源進行操作,實現State Transfer。

理解上述幾點,基本就對RESTful架構有了大概的了解了。

RESTful API設計思想關鍵點如下:

  1. 一定要使用https,不要http重定向
  2. 標明專屬api域名或者子目錄,如https://www.huangzijian.me/api/
  3. 表明版本號,如https://www.huangzijian.me/api/v1/
  4. 因為每一個URI表示的是一個資源,故路徑上應該采用名詞來表示,而不要用動詞。由於通常情況下均表示一類資源,因此要采用復數,如https://www.huangzijian.me/api/v1/exams
  5. 采用HTTP動詞的GET、POST、PUT、DELETE分表表示資源的獲取、新增、更新和刪除。
  6. 註意服務器向客戶端返回的狀態碼及其提示信息。
  7. 建議傳輸的數據格式采用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]