问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
定义了一个实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "RevenueDto", description = "营收dto")
public class RevenueDto {
@ApiModelProperty(value = "商户id-userID", dataType = "String", required = true, example = "123456")
private String currentUserId; // 商户id-userID
@ApiModelProperty(value = "开始时间", required = true, example = "2022-10-10 11:11:11")
@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime dateStart; // 开始时间
@ApiModelProperty(value = "结束时间", required = true, example = "2022-10-10 11:11:11")
@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime dateEnd; // 结束时间
}
接口
使用了两种方法,实体类dto对于参数currentUserId=null;map接受话是得到了currentUserId,但是get不出来。
@PostMapping("/getRevenue")
@ApiOperation(value = "获取营收统计信息")
@ApiImplicitParam(name = "revenueDto", value = "营收dto", required = true, dataType = "RevenueDto")
public ResultInfo getRevenueInfo(@RequestBody RevenueDto revenueDto) {
/* public ResultInfo getRevenueInfo(@RequestBody Map map) {
// todo:异常处理,字符串接收不到
//return ResultInfo.ok(threeService.getRevenueInfo(revenueDto));
RevenueDto revenueDto = new RevenueDto();
revenueDto.setCurrentUserId(map.get("currentUserId").toString());
revenueDto.setDateStart(LocalDateTime.parse(map.get("dateStart").toString()));
revenueDto.setDateEnd(LocalDateTime.parse(map.get("dateEnd").toString()));
*/
return ResultInfo.ok(threeService.getRevenueInfo(revenueDto));
}
运行结果及报错内容
使用了两种方法,实体类dto对于参数currentUserId=null;map接受话是得到了currentUserId,但是get不出来报错。
参数字段名没有问题,都是currentUserId。没有大小写问题
我的解答思路和尝试过的方法
使用了两种方法,实体类dto对于参数currentUserId=null;map接受话是得到了currentUserId,但是get不出来报错。
但是能接收到随便去一个字段名称为userid的字段的数据
我想要达到的结果
实体类dto能接受到参数currentUserId