@RequestBody部分屬性丟失
問(wèn)題描述
JavaBean實(shí)現(xiàn)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
public class VerifyNewFriendApplyReq implements Serializable { /** * 申請(qǐng)ID */ private Long applyId; /** * 審核結(jié)果 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實(shí)現(xiàn)
1
2
3
4
5
6
|
@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接口請(qǐng)求展示
結(jié)果發(fā)送請(qǐng)求時(shí),在后臺(tái)只能接收到aplyId字段的值,拿不到isAccept字段的值,檢查后我們發(fā)現(xiàn),在IDEA中,對(duì)于布爾類(lèi)型的isXXX變量,在自動(dòng)生成getter和setter方法時(shí),會(huì)去除is標(biāo)識(shí),如圖所示
所以@RequestBody在接收解析時(shí),不會(huì)執(zhí)行g(shù)etAccept()方法,沒(méi)有找到匹配的getIsAccept()方法,就會(huì)是null。
結(jié)論
注意:對(duì)于布爾類(lèi)型的isXXX變量,在自動(dòng)生成getter和setter方法時(shí),會(huì)去除is標(biāo)識(shí)。
springboot @RequestBody注入屬性為空
對(duì)象屬性為
1
|
private String rEngIds; |
Controller中用@RequestBody注解接收
前端的json屬性也是一樣的rEngIds
但是死活映射不進(jìn)
我的解決辦法
改屬性名:r_engIds完事兒啦~
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/chen1xiao2mo3/article/details/84649777