解决@RequestBody部分属性丢失的问题
短信预约 -IT技能 免费直播动态提醒
@RequestBody部分属性丢失
问题描述
JavaBean实现
public class VerifyNewFriendApplyReq implements Serializable {
private Long applyId;
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实现
@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接口请求展示
结果发送请求时,在后台只能接收到aplyId字段的值,拿不到isAccept字段的值,检查后我们发现,在IDEA中,对于布尔类型的isXXX变量,在自动生成getter和setter方法时,会去除is标识,如图所示
所以@RequestBody在接收解析时,不会执行getAccept()方法,没有找到匹配的getIsAccept()方法,就会是null。
结论
注意:对于布尔类型的isXXX变量,在自动生成getter和setter方法时,会去除is标识。
springboot @RequestBody注入属性为空
对象属性为
private String rEngIds;
Controller中用@RequestBody注解接收
前端的json属性也是一样的rEngIds
但是死活映射不进
我的解决办法
改属性名:r_engIds完事儿啦~
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341