feign 接口传参Date,调用方解析不了,日期为CST格式字符串 您所在的位置:网站首页 comsol改变绘图背景 feign 接口传参Date,调用方解析不了,日期为CST格式字符串

feign 接口传参Date,调用方解析不了,日期为CST格式字符串

#feign 接口传参Date,调用方解析不了,日期为CST格式字符串| 来源: 网络整理| 查看: 265

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 实验室设备网 版权所有