app开发者平台在数字化时代的重要性与发展趋势解析
905
2022-12-16
解决@RequestBody部分属性丢失的问题
目录@RequestBody部分属性丢失问题描述javaBean实现Controller实现postman接口请求展示结论springboot @RequestBody注入属性为空对象属性为我的解决办法
@RequestBody部分属性丢失
问题描述
JavaBean实现
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) {
http:// 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 Shttp://tring rEngIds;
Controller中用@RequestBody注解接收
前端的json属性也是一样的rEngIds
但是死活映射不进
我的解决办法
改属性名:r_engIds完事儿啦~
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~