欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2022-09-20 09:28:27|栏目:JAVA代码|点击:

@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) {
        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完事儿啦~

上一篇:SpringBoot使用JPA实现查询部分字段

栏    目:JAVA代码

下一篇:在 Spring Boot 项目中实现文件下载功能

本文标题:解决@RequestBody部分属性丢失的问题

本文地址:http://www.codeinn.net/misctech/214208.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有