美文网首页
Spring Boot LocalDate field seri

Spring Boot LocalDate field seri

作者: lconcise | 来源:发表于2018-06-28 10:23 被阅读12次

    记录一次完整的解决问题的过程。

    问题:实体中需要一个 LocalDate 对象,实体类中创建相关字段后,swagger 调试 该接口 总是 报400 错误,参数格式不正确。

    解决:

    1. 400 错误 根本就没有进去方法内,

    查看 LocalDate 构造方法

    捕获.PNG

    swagger 显示

    捕获.PNG

    按照该格式去 传递 LocalDate 参数,还是 400 错误,参数传递有问题。

    1. 上面没有找到结果之后,想到了 注解 @DateTimeFormat
    捕获.PNG

    看到 as of Spring 4 and JDK8, to JSR-310 java
    猜测 @DateTimeFormat 肯定支持 java8 中的LocalDate, 只是自己不知道怎么用罢了

    1. 最后找到 Jsr310DateTimeFormatAnnotationFormatterFactory


      捕获.PNG

      确定 存在相关 注解

    2. 在bing 搜索中搜索 Jsr310DateTimeFormatAnnotationFormatterFactory
      最终找到解决方法
      原文地址:https://stackoverflow.com/questions/30871255/spring-boot-localdate-field-serialization-and-deserialization
    捕获.PNG

    pom 文件中需要添加:

            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jsr310</artifactId>
                <version>2.9.4</version>
            </dependency>
    
        @DateTimeFormat(pattern = "yyyy-MM-dd", iso = DateTimeFormat.ISO.DATE)
        @JsonSerialize(using = LocalDateSerializer.class)
        @JsonDeserialize(using = LocalDateDeserializer.class)
        private LocalDate birthday;
    

    相关文章

      网友评论

          本文标题:Spring Boot LocalDate field seri

          本文链接:https://www.haomeiwen.com/subject/woowyftx.html