目錄
1.什麼是rest?
REST(英文:Representational State Transfer,簡稱 REST)描述了一個架構樣式的網絡系統, 比如 web 應用程序。它首次出現在 2000 年 Roy Fielding 的博士論文中,他是 HTTP 規範的主要編寫者之 一。在目前主流的三種 Web 服務交互方案中,REST 相比於 SOAP(Simple Object Access protocol,簡單 對象訪問協議)以及 XML-RPC 更加簡單明瞭,無論是對 URL 的處理還是對 Payload 的編碼,REST 都傾向於用更 加簡單輕量的方法設計和實現。值得注意的是 REST 並沒有一個明確的標準,而更像是一種設計的風格。
它本身並沒有什麼實用性,其核心價值在於如何設計出符合 REST 風格的網絡接口。
2.restful風格的優點
它結構清晰、符合標準、易於理解、擴展方便,所以正得到越來越多網站的採用。
3.restful 的特性
資源(Resources):
網絡上的一個實體,或者說是網絡上的一個具體信息。 它可以是一段文本、一張圖片、一首歌曲、一種服務,總之就是一個具體的存在。可以用一個 URI(統一 資源定位符)指向它,每種資源對應一個特定的 URI 。要 獲取這個資源,訪問它的 URI 就可以,因此 URI 即爲每一個資源的獨一無二的識別符。
表現層(Representation):
把資源具體呈現出來的形式,叫做它的表現層 (Representation)。 比如,文本可以用 txt 格式表現,也可以用 HTML 格式、XML 格式、JSON 格式表現,甚至可以採用二進制格式。
狀態轉化(State Transfer):
每發出一個請求,就代表了客戶端和服務器的一次交互過程。 HTTP 協議,是一個無狀態協議,即所有的狀態都保存在服務器端。因此,如果客戶端想要操作服務器, 必須通過某種手段,讓服務器端發生“狀態轉化”(State Transfer)。而這種轉化是建立在表現層之上的,所以 就是 “表現層狀態轉化”。具體說,就是 HTTP 協議裏面,四個表示操作方式的動詞:GET 、POST 、PUT、 DELETE。它們分別對應四種基本操作:GET 用來獲取資源,POST 用來新建資源,PUT 用來更新資源,DELETE 用來 刪除資源。
4.restful 編程風格理解
示例:
Controller代碼
前端jsp頁面
執行一: 結果一:
----------------------------------------------------------------------------------------------------------------------------------
執行二: 結果二: