之前写业务新增的时候,数据库表分为基础明细表,基础表存储基本信息,明细表存储明细。基础对明细是一对多。业务逻辑大概是这样,前端传基础信息和明细信息,明细信息分为甲方来源,乙方来源,丙方来源。于是我的数据结构就封成了
@Setter
@Getter
public class RequestAddDto{
...
@ApiModelProperty(value = "明细信息 -甲方来源")
private List<RequestAAddDto> aAddDtos ;
@ApiModelProperty(value = "明细信息 -乙方来源")
private List<RequestBAddDto> bAddDtos;
@ApiModelProperty(value = "明细信息 -丙方来源")
private List<RequestCAddDto> cAddDtos;
}
结果在和前端联调的过程中发现 swagger 页面文档上入参数据结构示例 为 null,当时我就很疑惑,就把自己的数据结构 封装好用txt文档传给了前端。
{xx:xx,xx:xx,aAddDtos:[{},{}],bAddDtos:[{},{}]}
我自认写的json格式没有问题,然而保存的时候偏偏明细没有数值。打过断点后发现甲乙丙三方来源数据没有传入。
一番折腾,我甚至怀疑过自己写的json,后来自己写了个main方法写了个json语句测试,发现这三个集合还是传不进。当时陷入了深深的疑惑中。
终于,在我将 aAddDtos改成requestFirstAddDtos 的时候,测试前端数据终于传了进来。结果发现是自己名字取的问题。
@Setter
@Getter
public class RequestAddDto{
...
@ApiModelProperty(value = "明细信息 -甲方来源")
private List<RequestAAddDto> requestFirstAddDtos ;
@ApiModelProperty(value = "明细信息 -乙方来源")
private List<RequestBAddDto> requestSecondAddDtos ;
@ApiModelProperty(value = "明细信息 -丙方来源")
private List<RequestCAddDto> requestThirdAddDtos ;
}
这样就ok了。