feign 接口传参Date,调用方解析不了,日期为CST格式字符串 | 您所在的位置:网站首页 › comsol改变绘图背景 › feign 接口传参Date,调用方解析不了,日期为CST格式字符串 |
1 场景 通过feign调用远程接口,需要传参Date,又不想使用dto进行封装
2 解决方案
2.1 方案一
服务提供方,继承Spring的Converter接口,重写convert()方法,进行解析 public Date convert(String source){ SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM ddHH:mm:ss 'GMT' yyyy",Locale.US); Date date =sdf.parse(source); return date ; }全局配置,使用前需要确定当前系统是否已经存在自定义Converter,防止已存在的Converter被覆盖掉 2.2 方案二(推荐)feign配置中,自定义序列化方式 @Configuration public class FeignDateFormatRegister implements FeignFormatterRegistrar { @Override public void registerFormatters(FormatterRegistry registry) { // 解决feign接口传参Date,会被format为 Mon Feb 06 11:47:25 CST 2023 格式 registry.addPrinter(new Printer() { @Override public String print(Date object, Locale locale) { return DateFormatUtils.format(object, "yyyy-MM-dd HH:mm:ss"); } }); } }同方案一,需要确定当前系统是否已自定义Printer,防止冲突 3 效果 @PostMapping("/testDate") void testDate(@RequestParam Date test);feign接口调用可用@RequestParam正常传参Date |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |