Bootstrap

@RequestBody注解转对象中驼峰格式的参数无法接收到数据的问题解决方法

1.问题:驼峰格式的参数传递到后端,@RequestBody注解标注的实体对象参数没有接收到对应的数据

前端传参:
在这里插入图片描述
执行结果:
在这里插入图片描述
请求参数实体:

import lombok.Data;

/**
 * 请求参数
 * @author qzz
 */
@Data
public class DailyInspectTsznoRequestJson {
    private String belongedTo;
    private String recordNumber;
    private String checkFormNumber;
    private String tzsno;
    private String entCode;
}

2.解决方法:

方法一:修改前端传参格式,驼峰格式转换为下划线小写格式

把前端请求参数修改成 下划线小写格式:
在这里插入图片描述
后端接收参数不变。
重启项目,执行效果如下:
在这里插入图片描述
发现,问题得到解决。

方法二:在后端属性名上面添加 @JsonProperty("")注解,把自己的属性名称填进去,就可以了(推荐使用)

package com.hwariot.device.report.dto.json.request.openapi;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * 请求参数
 *
 * 前端传递belongedTo等参数到后端的时候,belongedTo等参数是有值的,但是后端拿到的时候,就没有值了
 * 解决办法:
 * 在属性名上面添加 @JsonProperty("")注解,把自己的属性名称填进去,就可以了
 * @author qzz
 */
@Data
public class DailyInspectTsznoRequestJson {

    
    @JsonProperty("belongedTo")
    private String belongedTo;
    
    @JsonProperty("recordNumber")
    private String recordNumber;
  
    @JsonProperty("checkFormNumber")
    private String checkFormNumber;
    
    @JsonProperty("tzsno")
    private String tzsno;
    
    @JsonProperty("entCode")
    private String entCode;
}

前端参数保存驼峰格式不变,只修改后端。

然后重启项目,重新请求,执行效果如下:
在这里插入图片描述
发现数据都接收到了,问题得到解决。

注意:推荐使用第二种方法。

;