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