中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

SpringMvc自動裝箱及GET請求參數原理解析

發布時間:2020-10-01 15:28:20 來源:腳本之家 閱讀:278 作者:賈樹丙 欄目:開發技術

在我的概念里邊,GET請求需要加上注解@RequestParam,然后它的參數類型只能是 基本數據類型 或者 基本數據類型的包裝類,比如:@RequestParam String name(默認是必傳的),也可以不加@RequestParam 注解,其實就相當于@RequestParam(required = false)

但是參數類型竟然是自定義對象,對象類里有不同的參數和get/set方法,而且沒有使用@RequestParam 注解,那么同樣也能實現GET請求

比如一個請求方法是:public String login(User user) ,User.java類里有name 和password 兩個參數和get/set方法

那么請求http://localhost:8080/login?name=admin&password=123456是完全沒問題的

自動裝箱理解

對Java自動裝箱、拆箱的理解是:裝箱就是自動將基本數據類型轉換為包裝器類型;拆箱就是自動將包裝器類型轉換為基本數據類型。

對于springmvc來說,感覺它的自動裝箱,是將多個一般類型的參數轉換成一個對象,并賦值到對象里的變量

那么這樣的請求參數如何限制是否必傳呢?這里可沒有(required = true),那就需要使用@Valid注解了

自動裝箱的缺點

1、自動裝箱最直接的缺點就是效率低,不解釋

2、我們知道url請求會放到RequestHeader 里,這個應該是有長度限制的,那么太長了肯定不合適。如果是POST請求的話,會放到RequestBody里面去,就不會有RequestHeader 過長的問題了

3、如果對象里放的是List 類型的參數,那么這個應該如何在url 里進行GET請求呢?我問老大,他說要避免這種情形,使用JSON格式

POST請求的自動裝箱

POST請求的參數,一般都加上注解@RequestBody,但是上例中的public String login(User user) 方法即使使用POST請求,依然是可以執行的

網上搜了下么springmvc在post請求時使用與不使用@RequestBody注解的區別?

不使用@RequestBody注解時,可以接收Content-Type為application/x-www-form-urlencoded類型的請求所提交的數據,數據格式:aaa=111bbb=222。form表單提交以及jQuery的.post()方法所發送的請求就是這種類型。

使用@RequestBody注解時,用于接收Content-Type為application/json類型的請求,數據類型是JSON:{"aaa":"111","bbb":"222"}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

赣榆县| 汝州市| 宜丰县| 永修县| 新巴尔虎右旗| 鞍山市| 盘锦市| 白水县| 阆中市| 德清县| 延长县| 金门县| 信阳市| 太仓市| 尤溪县| 胶南市| 南宁市| 新密市| 崇阳县| 北流市| 察隅县| 陇川县| 隆回县| 沂水县| 铁岭县| 陵水| 文昌市| 汕尾市| 繁昌县| 通海县| 张掖市| 黔南| 高要市| 武定县| 邯郸市| 潞西市| 石台县| 庆阳市| 闽侯县| 中超| 梁山县|