zoukankan      html  css  js  c++  java
  • 记录Feign调用时对LocalDateTime的处理

    feign api调用参数类型为LocalDateTime一直报错,类型转换错误

    简单记录一下解决方式吧

    调用方

    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
    import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
    import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
    
    @Configuration
    public class LocalDateTimeConfig {
        
        @Bean(name = "mapperObject")
        public ObjectMapper getObjectMapper() {
            return new ObjectMapper().registerModule(new ParameterNamesModule()).registerModule(new Jdk8Module())
                    .registerModule(new JavaTimeModule());
        }
    
    
    }

    服务提供方

    import java.time.LocalDateTime;
    
    import javax.annotation.PostConstruct;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.convert.support.GenericConversionService;
    import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
    import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
    
    @Configuration
    public class WebConfigBeans {
        @Autowired
        private RequestMappingHandlerAdapter handlerAdapter;
        
        @PostConstruct
        public void initEditableValidation() {
            ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) handlerAdapter
                .getWebBindingInitializer();
            if (initializer.getConversionService() != null) {
                    GenericConversionService genericConversionService = (GenericConversionService) initializer
                            .getConversionService();
                    genericConversionService.addConverter(String.class, LocalDateTime.class, new String2DateConverter());
                }
            }
        
    }
    import java.time.LocalDateTime;
    import java.time.format.DateTimeFormatter;
    
    import org.springframework.core.convert.converter.Converter;
    
    public class DateConverter implements Converter<String, LocalDateTime> {
    
        @Override
        public LocalDateTime convert(String source) {
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            return LocalDateTime.parse(source,formatter);
        }
        
    }
  • 相关阅读:
    Feature部署EventHandler注意事项
    QuickPart Permission问题
    Vista SP1、IIS7,安装ASP.Net 1.1、VS2003、NetAdvantage 2004vol、Sql Server2000全攻略
    MOSS/Sharepoint 2007 创建网站集之后,链接出现“未找到文件”错误提示
    将 MS SQL Server 2005 SP2 整合到安装文件【脚本修正】
    QuickPart功能改进_Sharepoint_MOSS
    部署WebPart的两种方式
    博客园怎么了?
    Apache2.2.8、php5.2.6、mysql5、phpMyAdmin2.11.6在Windows Vista下的安装和配置
    tz2txt的安装与使用
  • 原文地址:https://www.cnblogs.com/Cassie-wang/p/11597794.html
Copyright © 2011-2022 走看看