Springboot @RequestBody注解踩坑記錄
@RequestBody注解踩坑
@RequestBody json注入Bean屬性為空
1、接收J(rèn)SON數(shù)據(jù)注入到Bean中,必須要加RuquestBody注解
2、判斷屬性名稱(chēng)字段是否相同
3、spring 默認(rèn)不為首字母大寫(xiě)的JavaBean進(jìn)行賦值操作,若首字母大寫(xiě)進(jìn)行賦值操作需加入@JsonProperty(value=“AlarmTime”)注解
注:JavaBean規(guī)范 屬性的首字母小寫(xiě),駝峰命名:以小寫(xiě)字母開(kāi)頭,每個(gè)單詞首字母大寫(xiě)
4、首字母大寫(xiě)無(wú)法賦值,修改Bean屬性為Public同樣可以解決問(wèn)題(不建議此方案解決)
例:
具體操作親試
@RequestBody注解的一些注意事項(xiàng)
1.@RequestBody注解用來(lái)獲取請(qǐng)求體中的數(shù)據(jù),直接使用得到的是key=value&key=value…結(jié)構(gòu)的數(shù)據(jù),因此get方式不適用(get方式下@RequestBody獲取不到任何數(shù)據(jù))。
例:
public void test1(@RequestBody String body){ ?? ?system.out.println(body); }
輸出結(jié)果:
username=hehe&age=20
2.使用@RequestBody注解后,可以在方法中創(chuàng)建一個(gè)集合對(duì)象,前端提交的集合數(shù)據(jù)可以直接被注入到方法的集合對(duì)象中,而不需要?jiǎng)?chuàng)建一個(gè)pojo對(duì)象進(jìn)行集合的封裝。
3.如果想要將前端提交的json字符串自動(dòng)封裝到一個(gè)對(duì)象中,需要導(dǎo)入jackson的相關(guān)jar包,并使用@RequestBody注解。
注:springmvc默認(rèn)使用MappingJacksonHttpMessageConverter對(duì)json數(shù)據(jù)進(jìn)行轉(zhuǎn)換。
4.使用@RequestBody 前后端參數(shù)要匹配個(gè)數(shù)不能少。字段名字要一樣。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot使用redis實(shí)現(xiàn)從配置到實(shí)戰(zhàn)
本文主要介紹了springboot使用redis ,采用的是RedisTemplate的形式,還有一種采用spring支持的注解進(jìn)行訪(fǎng)問(wèn)緩存,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Java并發(fā)編程學(xué)習(xí)之ThreadLocal源碼詳析
這篇文章主要給大家介紹了關(guān)于Java并發(fā)編程學(xué)習(xí)之源碼分析ThreadLocal的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-06-06IDEA中 Getter、Setter 注解不起作用的問(wèn)題如何解決
這篇文章主要介紹了IDEA中 Getter、Setter 注解不起作用的問(wèn)題如何解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Java實(shí)體類(lèi)不要使用基本類(lèi)型的知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于Java包裝類(lèi)之實(shí)體類(lèi)不要使用基本類(lèi)型的知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-02-02Java CountDownLatch完成異步回調(diào)實(shí)例詳解
這篇文章主要介紹了Java CountDownLatch完成異步回調(diào)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03java網(wǎng)絡(luò)爬蟲(chóng)連接超時(shí)解決實(shí)例代碼
這篇文章主要介紹了java網(wǎng)絡(luò)爬蟲(chóng)連接超時(shí)解決的問(wèn)題,分享了一則使用httpclient解決連接超時(shí)的Java爬蟲(chóng)實(shí)例代碼,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01JavaCV調(diào)用百度AI實(shí)現(xiàn)人臉檢測(cè)方法詳解
在檢測(cè)人臉數(shù)量、位置、性別、口罩等場(chǎng)景時(shí),可以考慮使用百度開(kāi)放平臺(tái)提供的web接口,一個(gè)web請(qǐng)求就能完成檢測(cè)得到結(jié)果。本文就為大家介紹JavaCV如何調(diào)用百度AI實(shí)現(xiàn)最簡(jiǎn)單的人臉檢測(cè),需要的可以參考一下2022-01-01SpringCloud之熔斷器Hystrix的實(shí)現(xiàn)
這篇文章主要介紹了SpringCloud之熔斷器Hystrix的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08