1.传参的格式化:处理逻辑方对应set get方法处理
bean中字段格式化, 一般会在业务层做处理,如果写在字段的get set方法中业务边界更明确,方法复用性更好!
例如:这里对参数conditionsMap 需要过滤掉IndicatorConditionDTO字段defaultValues(Object类型)为空的数据,对参数的格式化 放到set get方法处理
@ApiModelProperty(value = "多个查询条件")
private Map<String, List<IndicatorConditionDTO>> conditionsMap;
public Map<String, List<IndicatorConditionDTO>> getConditionsMap() {
return ObjectUtil.clone(conditionsMap);
}
public void setConditionsMap(Map<String, List<IndicatorConditionDTO>> conditionsMap) {
if (CollectionUtils.isNotEmpty(conditionsMap)) {
for (Map.Entry<String, List<IndicatorConditionDTO>> item : conditionsMap.entrySet()) {
List<IndicatorConditionDTO> list = ObjectUtil.clone(item.getValue().stream().filter(x -> CollectionUtils.isNotEmpty(x.getDefaultValues()) || ObjectUtil.isNotEmpty(x.getDefaultValue())).collect(Collectors.toList()));
item.setValue(list);
}
} else {
this.conditionsMap = new HashMap<>();
}
}
2.常用判空方法
判空集合:org.springframework.util.CollectionUtils.isEmpty() 对象判空:cn.hutool.core.util.ObjectUtil.isEmpty(Object obj) 字符串判空:cn.hutool.core.util.ObjectUtil.isEmpty(Object obj)