@RequestBody 部分屬性沒有轉化成功
項目中在編寫添加User的API的接口的時候發現
我把User參數設置成了@ResquestBody,但是測試的時候發現即使傳入所有屬性的數據,但是Controller在接收到的User實例里面只有部分屬性被轉化了,其他屬性均沒有轉化成功。
后來經查明,發現是@ResquestBody只轉化有getter的屬性,我把所有有屬性都添加getter,然后就可以正確轉化了!
另外我發現如果是boolean屬性可以添加isXX()的方法也可以
@RequestBody某些屬性值得不到
@RequestBody接收的實體類中的屬性名如果是第一個字母小寫第二個字母大寫的情況,不能正常的從JSON轉換成實例類屬性
解決方案
方案一:
- 改名字,第二個大寫的改成小寫就行了(實際開發中改名字使名字不符合駝峰命名法不恰當)
方案二:
- 加上@JsonProperty注解,指定某個方法JSON轉換時的名字,上述實體類將修改為
1
2
|
@JsonProperty (value = "pCode" ) private String pCode; |
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/Deginch/article/details/70257871