解決@RequestBody部分屬性丟失的問題
@RequestBody部分屬性丟失
問題描述
JavaBean實現(xiàn)
public class VerifyNewFriendApplyReq implements Serializable { /** * 申請ID */ private Long applyId; /** * 審核結果 true:同意 false:拒絕 */ private Boolean isAccept; public Long getApplyId() { return applyId; } public void setApplyId(Long applyId) { this.applyId = applyId; } public Boolean getAccept() { return isAccept; } public void setAccept(Boolean accept) { isAccept = accept; } }
Controller實現(xiàn)
@RequestMapping(value = "/v0.1/verifyNewFriendApply", method = RequestMethod.POST) @ResponseBody public ImResponse verifyNewFriendApply(@RequestBody VerifyNewFriendApplyReq reqDto) throws Exception { Boolean result = friendApi.verifyNewFriendApply(reqDto); return new ImResponse(SystemContext.getSystemProperty().getReqId(), result); }
postman接口請求展示
結果發(fā)送請求時,在后臺只能接收到aplyId字段的值,拿不到isAccept字段的值,檢查后我們發(fā)現(xiàn),在IDEA中,對于布爾類型的isXXX變量,在自動生成getter和setter方法時,會去除is標識,如圖所示
所以@RequestBody在接收解析時,不會執(zhí)行getAccept()方法,沒有找到匹配的getIsAccept()方法,就會是null。
結論
注意:對于布爾類型的isXXX變量,在自動生成getter和setter方法時,會去除is標識。
springboot @RequestBody注入屬性為空
對象屬性為
private String rEngIds;
Controller中用@RequestBody注解接收
前端的json屬性也是一樣的rEngIds
但是死活映射不進
我的解決辦法
改屬性名:r_engIds完事兒啦~
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
淺析Java中Map與HashMap,Hashtable,HashSet的區(qū)別
HashMap和Hashtable兩個類都實現(xiàn)了Map接口,二者保存K-V對(key-value對);HashSet則實現(xiàn)了Set接口,性質類似于集合2013-09-09SpringBoot定時任務不執(zhí)行的幾個可能原因及解決方法
這篇文章主要介紹了SpringBoot定時任務不執(zhí)行的幾個可能原因及解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2023-12-12Apache Commons Math3探索之多項式曲線擬合實現(xiàn)代碼
這篇文章主要介紹了Apache Commons Math3探索之多項式曲線擬合實現(xiàn)代碼,小編覺得挺不錯的,這里分享給大家,供需要的朋友參考。2017-10-10Maven在Windows中的配置以及IDE中的項目創(chuàng)建(圖文教程)
這篇文章主要介紹了Maven在Windows中的配置以及IDE中的項目創(chuàng)建(圖文教程),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09Spring實戰(zhàn)之Bean的作用域request用法分析
這篇文章主要介紹了Spring實戰(zhàn)之Bean的作用域request用法,結合實例形式分析了spring中Bean的request作用域相關使用技巧與操作注意事項,需要的朋友可以參考下2019-11-11