gpt4 book ai didi

解决@RequestBody部分属性丢失的问题

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 29 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章解决@RequestBody部分属性丢失的问题由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

@RequestBody部分属性丢失

问题描述

JavaBean实现

?
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 {
     /**
      * 申请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实现

?
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接口请求展示

解决@RequestBody部分属性丢失的问题

结果发送请求时,在后台只能接收到aplyId字段的值,拿不到isAccept字段的值,检查后我们发现,在IDEA中,对于布尔类型的isXXX变量,在自动生成getter和setter方法时,会去除is标识,如图所示 。

解决@RequestBody部分属性丢失的问题

所以@RequestBody在接收解析时,不会执行getAccept()方法,没有找到匹配的getIsAccept()方法,就会是null.

结论

注意:对于布尔类型的isXXX变量,在自动生成getter和setter方法时,会去除is标识.

springboot @RequestBody注入属性为空

对象属性为

?
1
private String rEngIds;

Controller中用@RequestBody注解接收 。

前端的json属性也是一样的rEngIds 。

但是死活映射不进 。

我的解决办法

改属性名:r_engIds完事儿啦~ 。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/chen1xiao2mo3/article/details/84649777 。

最后此篇关于解决@RequestBody部分属性丢失的问题的文章就讲到这里了,如果你想了解更多关于解决@RequestBody部分属性丢失的问题的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com