第三章 REST風格

2021-09-26 20:12:22 字數 3307 閱讀 8475

(1)理解本真的rest架構風格:

(2)rest:

(1) rest:即 representational state transfer。(資源)表現層狀態轉化。是目前最流行的一種網際網路軟體架構。它結構清晰、符合標準、易於理解、擴充套件方便,所以正得到越來越多**的採用

​ ①資源(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 用來刪除資源。

(2)url風格

​ 示例:

​ /order/1 httpget: 得到 id = 1 的 order gerorder?id=1

​ /order/1 httpdelete**:**刪除 id = 1的 order deleteorder?id=1

​ /order httpput: 更新order

​ /order httppost: 新增 order

​ 瀏覽器 form 表單只支援 get 與 post 請求,而delete、put 等 method 並不

​ 支援,spring3.0 新增了乙個過濾器,可以將這些請求轉換為標準的 http 方法,使

​ 得支援 get、post、put 與 delete 請求。

(1)為什麼請求隱含引數名稱必須叫做」_method」

(2)hiddenhttpmethodfilter 的處理過程

(1)配置hiddenhttpmethodfilter過濾器

* 1.測試rest風格的 get,post,put,delete 操作

* 以crud為例:

* 新增: /order post

* 修改: /order/1 put update?id=1

* 獲取: /order/1 get get?id=1

* 刪除: /order/1 delete delete?id=1

* 2.如何傳送put請求或delete請求?

* ①.配置hiddenhttpmethodfilter

* ②.需要傳送post請求

* ③.需要在傳送post請求時攜帶乙個 name="_method"的隱含域,值為put或delete

* 3.在springmvc的目標方法中如何得到id值呢?

* 使用@pathvariable註解

*/(value=

"/testrestget/"

,method=requestmethod.get)

public string testrestget

(@pathvariable

(value=

"id"

) integer id)

(value=

"/testrestpost"

,method=requestmethod.post)

public string testrestpost()

(value=

"/testrestput/"

,method=requestmethod.put)

public string testrestput

(@pathvariable

("id"

) integer id)

(value=

"/testrestdelete/"

,method=requestmethod.delete)

public string testrestdelete

(@pathvariable

("id"

) integer id)

(3)請求鏈結

testrest get

第一步

​ 在web.xml中配置hiddenhttpmethodfilter過濾器

第二步​ 寫請求鏈結

​ *put 和 delete ,method=post(必須)

​ *put:

​ *delete:

第三步​ 寫處理方法

第三章 堆疊

1.基礎知識 堆疊可以實現很多的應用,遞迴的問題轉化成非遞迴形式,在本質上也是堆疊的問題.它是一種 filo 操作的資料結構,一般也有兩種儲存方式 陣列跟鍊錶實現形式,這裡我給出了鍊錶形式的堆疊模板,裡面包括了基本的堆疊所有的操作,還有兩個比較著名的應用例子,時間倉促,精力比較有限,關於迷宮老鼠還沒...

第三章 曙光

第三章 曙光 第二場校園招聘開始了。其實,洋對這個公司的不是很了解。因為前幾天突然在bbs上面看到了這個公司的招聘資訊,洋覺得這個公司不錯,就上網投了簡歷。接下來的乙個多小時,讓洋很震撼!想不到這個公司這個厲害,而且無論從哪方面來說,絕對不比之前的那個公司差。想不到自己的乙個不經意的決定到了這個大的...

第三章 遞迴

遞迴是一種強大的方法,它允許乙個物件以其自身更小的形式來定義自己。恐怕沒有什麼比觀察神秘的自然界中出現的遞迴現象更好的方法來體會遞迴的重要意義了。想想蕨類植物的葉子,每片葉子的小枝幹都是整片葉子的較小縮影 又或者兩個反光的物體,相互對映對方的漸遠的影像。這樣的例子使我們明白儘管大自然的力量是強大的,...