β

Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问

Harries Blog™ 118 阅读

LocalDate LocalTime LocalDateTime 是Java 8开始提供的 时间 日期 API ,主要用来优化Java 8以前对于时间日期的处理操作。然而,我们在使用 Spring Boot 或使用Spring Cloud Feign的时候,往往会发现使用请求 参数 或返回结果中有 LocalDate LocalTime LocalDateTime 的时候会发生各种问题。本文我们就来说说这种情况下出现的问题,以及如何解决。

问题现象

先来看看症状。比如下面的例子:

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @RestController
    class HelloController {

        @PostMapping("/user")
        public UserDto user(@RequestBody UserDto userDto) throws Exception {
            return userDto;
        }

    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    static class UserDto {

        private String userName;
        private LocalDate birthday;

    }

}
作者:Harries Blog™
追心中的海,逐世界的梦

发表评论