我有以下DTO和VO:
VO
public class ProjectVO {
private Date fechaInicio;
private Date fechaFin;
}
DTO
public class ProjectDTO {
private String fechaInicio;
private String fechaFin;
}
以及以下转换器将字符串转换为日期:
Converter<String, Date> dateConverter = new Converter<String, Date>()
{
public Date convert(MappingContext<String, Date> context)
{
Date date;
try {
date = new SimpleDateFormat("dd/MM/yyyy").parse(context.getSource());
} catch (ParseException e) {
throw new DateFormatException();
}
return date;
}
};
modelMapper.addConverter(dateConverter);
如果我使用modelmapper将单个String转换为日期,则它将与该转换器完美配合。
但是现在我需要将我的ProjectDTO对象转换为一个ProjectVO对象,并且我收到一条错误消息,说它无法将字符串转换为日期。我怀疑这是因为Date在Project对象内部。我对吗?我该怎么解决?
谢谢。
答案 0 :(得分:1)
好的,它就像一个超级按钮一样工作,如果我使用它,它会自动检测到它:
modelMapper.createTypeMap(String.class, Date.class);
,然后添加我创建的自定义转换器:)