最近公司在做系统对接,其中有一个问题。
就是之前对方前段传进来的日期都是yymmdd , 然而我们这边接受的日期格式是YYY-MM-dd. 由于对方是甲方爸爸,很难改动。所以只能有我们这边改动。但是接口太多,参数也太多。写一个工具类也太麻烦。
能不能写一个类似拦截器的功能,提前把这个参数进行格式转换啊。
后来看了@requestParament 和 springmvc 的源码。
发现了一个类。
ConversionServiceFactoryBean 转换器服务工厂。
我们看一下源码
翻译一下 。其他的都不重要,只要记住这一句话。
可以实现这个类,自己重写自定义ConversionService, 可以想springbean 一样的注入使用。
我们写一个类实现converter的接口。重写里面的转换方法。
第一个string,就是初始对象类型,第二个String 就是目标对象类型.
我们在写一个工具类,把格式转换一下
最后的代码是这样的
在写一个测试的接口
启动,浏览器输入
起作用了。我们自定义的参数转换器有作用了。但是这个作用比较有限制。处理逻辑只对日期有作用。其他的也是string 类型会报错。
这里只是提供一个思路。
大家可以有空自己试一下。