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注解的一些注意事項
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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java解析調(diào)用webservice服務(wù)的返回XML串詳解
這篇文章主要介紹了Java解析調(diào)用webservice服務(wù)的返回XML串詳解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
多數(shù)據(jù)源模式JPA整合sharding-jdbc實現(xiàn)數(shù)據(jù)脫敏
這篇文章主要為大家介紹了JPA項目中多數(shù)據(jù)源模式整合sharding-jdbc來實現(xiàn)數(shù)據(jù)脫敏,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02
SpringBoot項目接入Nacos的實現(xiàn)步驟
SpringBoot項目使用nacos作為配置中心和服務(wù)注冊中心,同時兼容dubbo的注冊中心。 本Demo項目使用的SpringBoot版本是2.3.9.RELEASE2021-05-05
基于Java開發(fā)實現(xiàn)ATM系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于Java開發(fā)實現(xiàn)ATM系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-08-08
SpringBoot使用freemarker導(dǎo)出word文件方法詳解
這篇文章主要介紹了SpringBoot使用freemarker導(dǎo)出word文件方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-11-11

