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);
        }
        
    }
  • 相关阅读:
    移动网页如何只调出数字键盘
    把HTML5网页封装成APP,APK的方法
    HTML5,微信开发原码社区
    display:table 水平居中
    input在苹果浏览器下变成圆角的解决方案
    四种方法解决DIV高度自适应问题
    jquery prop和attr的区别
    移动端网页JS框架-手机触摸事件框架,日历框架带滑动效果
    meta viewport标签的使用说明(手机浏览缩放控制)
    javascript json格式解析方法
  • 原文地址:https://www.cnblogs.com/Cassie-wang/p/11597794.html
Copyright © 2011-2022 走看看