自动类型转换器
前端传来的请求数据一般为string类型,但是由于自动转换器的存在,它会根据形参类型进行一个默认的转换。但是并非所有类型都可以通过框架定义的类型转换器进行转换。比如日期的转换,我们都知道日期会有很多中格式的写法:2020/02/01;2020-02-01.但并不是都可以默认被转换我java中的date类型的(2020/02/01可以,2020-02-01不可以会报错400),如需要一些自定义的写法就需要自己配置类型转换器。
所以下面是自定义类型转换器的写法:
步骤:
- 实现Converter<S,T>接口
public class StringToDateConverter implements Converter<String, Date>, Serializable { @Override public Date convert(String s) { //判断是否为空 if(s == null){ throw new RuntimeException("请输入日期"); } DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); try { //字符串转日期 return df.parse(s); } catch (ParseException e) { throw new RuntimeException("日期转换错误"); } } }