美文网首页
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