一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - SpringMvc自動(dòng)裝箱及GET請(qǐng)求參數(shù)原理解析

SpringMvc自動(dòng)裝箱及GET請(qǐng)求參數(shù)原理解析

2020-09-19 15:45賈樹丙 Java教程

這篇文章主要介紹了SpringMvc自動(dòng)裝箱及GET請(qǐng)求參數(shù)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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

但是參數(shù)類型竟然是自定義對(duì)象,對(duì)象類里有不同的參數(shù)和get/set方法,而且沒有使用@RequestParam 注解,那么同樣也能實(shí)現(xiàn)GET請(qǐng)求

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

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

自動(dòng)裝箱理解

對(duì)Java自動(dòng)裝箱、拆箱的理解是:裝箱就是自動(dòng)將基本數(shù)據(jù)類型轉(zhuǎn)換為包裝器類型;拆箱就是自動(dòng)將包裝器類型轉(zhuǎn)換為基本數(shù)據(jù)類型。

對(duì)于springmvc來說,感覺它的自動(dòng)裝箱,是將多個(gè)一般類型的參數(shù)轉(zhuǎn)換成一個(gè)對(duì)象,并賦值到對(duì)象里的變量

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

自動(dòng)裝箱的缺點(diǎn)

1、自動(dòng)裝箱最直接的缺點(diǎn)就是效率低,不解釋

2、我們知道url請(qǐng)求會(huì)放到RequestHeader 里,這個(gè)應(yīng)該是有長(zhǎng)度限制的,那么太長(zhǎng)了肯定不合適。如果是POST請(qǐng)求的話,會(huì)放到RequestBody里面去,就不會(huì)有RequestHeader 過長(zhǎng)的問題了

3、如果對(duì)象里放的是List 類型的參數(shù),那么這個(gè)應(yīng)該如何在url 里進(jìn)行GET請(qǐng)求呢?我問老大,他說要避免這種情形,使用JSON格式

POST請(qǐng)求的自動(dòng)裝箱

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

網(wǎng)上搜了下么springmvc在post請(qǐng)求時(shí)使用與不使用@RequestBody注解的區(qū)別?

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

使用@RequestBody注解時(shí),用于接收Content-Type為application/json類型的請(qǐng)求,數(shù)據(jù)類型是JSON:{"aaa":"111","bbb":"222"}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.cnblogs.com/acm-bingzi/p/spring_auto_box.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产在线 | 天天爱综合网 | 痴mu动漫成年动漫在线观看 | 无遮挡h肉动漫高清在线 | 亚洲高清免费在线观看 | 女黑人尺寸bbb | 日韩av.com| 国产一区二区播放 | 白丝校花好湿好紧 | 91在线老王精品免费播放 | 亚洲日韩精品欧美一区二区一 | 日本五十路六十30人8时间 | 欧美精品一线二线大片 | 超级毛片| jzzjzz视频免费播放 | 成人私人影院在线版 | 久久re热在线视频精69 | miaa076深田咏美在线 | 免费观看www视频 | 欧美成a人片免费看久久 | 99re热精品这里精品 | 亚洲人成在线观看一区二区 | 男人天堂网av | 亚洲精品影视 | 国产成人在线播放 | 日韩毛片免费在线观看 | 久久免费国产视频 | 狐媚小说 | 国产精品第一 | 欧美办公室silkstocking | 2020年最新国产精品视频免费 | 久9视频这里只有精品123 | 欧美成人免费观看bbb | 骚虎tv| 久久理论片| 欧美va在线观看 | 男人影院在线观看 | 精品网站一区二区三区网站 | 黑人女性猛交xxxxxⅹxx | 久久视热频国产这里只有精品23 | 96av视频在线观看 |