亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RESTfule風格怎么應用

發布時間:2022-03-23 14:22:56 來源:億速云 閱讀:159 作者:iii 欄目:web開發

這篇文章主要介紹“RESTfule風格怎么應用”,在日常操作中,相信很多人在RESTfule風格怎么應用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”RESTfule風格怎么應用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

什么是REST?

  REST(英文:Representational State Transfer,簡稱REST,意思:表述性狀態轉換,描述了一個架構樣式的網絡系統,比如web應用)。

  它是一種軟件架構風格、設計風格,而不是標準,只是提供了一組設計原則和約束條件,它主要用于客戶端和服務端交互類的軟件。基于這個風格設計的軟件可以更簡介,更有層次,更易于實現緩存等機制。

  它本身并沒有什么使用性,其核心價值在于如何設計出符合REST風格的網絡接口。

什么是RESTful?

  REST:指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是RESTful。

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

如何設計RESTful應用程序的API?

  路徑設計:數據庫設計完畢之后,基本上就可以確定有哪些資源要進行操作,相對應的路徑也可以設計出來。

  動詞設計:也就是針對資源的具體操作類型,有HTTP動詞表示,常用的HTTP動詞如下:POST、DELETE、PUT、GET

RESTful示例

  1. /account/1 HTTP GET:得到id=1的account

  2. /account/1 HTTP DELETE:刪除id=1的account

  3. /account/1 HTTP PUT:更新id=1的account

SpringMvc對RESTful的支持

RESTful的URL路徑變量

URL-PATTERN:設置為/,方便攔截RESTful請求。

@PathVariable:可以解析出來URL中的模板變量({id}/{name})

URL:http://localhost:8080/ssm/cyb/item/1/chenyanbin


Controller層:
@RequestMapping("{id}/{name}")
@ResponseBody
public Item queryItemById(@PathVariable Integer id,@PathVariable String name){
.............
}

RESTfule風格怎么應用

RESTful的CRUD

@RequestMapping:通過設置method屬性的CRUD,可以將同一個URL映射到不同的HandlerMethod方法上。

@GetMapping、@PostMapping、@PutMapping、@DeleteMapping注解同@RequestMapping注解的method屬性設置。

RESTful的資源表述

RESTful服務中一個重要的特性就是一種資源可以有多種表現形式,在SpringMvc中可以使用ContentNegotiatingManager這個內容協商管理器來實現這種方式。

內容協商的方式有三種

  1. 擴展名,比如.json表示我要JSON格式數據、.xml表示我要xml格式數據

  2. 請求參數:默認是“format”

  3. 請求頭設置Accept參數,比如設置Accept為application/json表示要JSON格式數據

現在一般RESTful風格響應的數據一般都是JSON格式,所以一般也不使用內容協商管理器,直接使用@ResponseBody注解將數據按照JSON格式返回

靜態資源訪問<mvc:resources>

在Springmvc.xml文件中,使用mvc:resources標簽,具體如下:

<!-- 當DispatcherServlet配置為/來攔截請求的時候,需要配置靜態資源的訪問映射 -->
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>
....
....
....
....

RESTfule風格怎么應用

SpringMvc會把mapping映射到ResourceHttpRequestHandler,這樣靜態資源在經過DispatcherServlet轉發時就可以找到對應的Handler了。

到此,關于“RESTfule風格怎么應用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苗栗县| 嵩明县| 蒙山县| 昌图县| 麻江县| 沁阳市| 彰武县| 深州市| 靖西县| 德保县| 富阳市| 玉龙| 衡山县| 霍山县| 德格县| 和林格尔县| 石景山区| 东兰县| 天峻县| 吴江市| 兴仁县| 平凉市| 天津市| 梅河口市| 汝州市| 合江县| 马关县| 墨脱县| 和平区| 临泽县| 屯昌县| 泽普县| 巴南区| 原阳县| 二连浩特市| 兴山县| 木里| 武陟县| 察雅县| 杭锦后旗| 蓬安县|