前端表单提交String类型数据后端转日期数据
前端传入String类型的日期参数时,需要将每个日期类型转换为Date类型。
解决方案
在实体Date类型字段的数据上加@JsonFormat注解
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
使用String转Date类型的工具类,并使用@Component将其注册为组件(要跟controller的父目录同级)
/**
* 日期转换工具
*/
@Component
public class DateConverter implements Converter<String, Date> {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@Override
public Date convert(String source) {
try {
return sdf.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
@DateTimeFormat
作用:
入参格式化,用于请求时
@JsonFormat
出参格式化,用于返回数据