• Jackson Support Instant Serialize and Deserialize Global Config


    @Bean
    public ObjectMapper objectMapper() {
        var dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        var dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        var timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        var javaTimeModule = new JavaTimeModule();
        javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(dateTimeFormatter))
                .addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(dateTimeFormatter))
                .addSerializer(LocalDate.class, new LocalDateSerializer(dateFormatter))
                .addDeserializer(LocalDate.class, new LocalDateDeserializer(dateFormatter))
                .addSerializer(LocalTime.class, new LocalTimeSerializer(timeFormatter))
                .addDeserializer(LocalTime.class, new LocalTimeDeserializer(timeFormatter))
                .addSerializer(Instant.class, new JsonSerializer<>() {
                    @Override
                    public void serialize(Instant instant, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
                        jsonGenerator.writeString(instant.atZone(ZoneOffset.of("+8")).format(dateTimeFormatter));
                    }
                })
                .addDeserializer(Instant.class, new JsonDeserializer<>() {
                    @Override
                    public Instant deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
                        return LocalDateTime.parse(jsonParser.getValueAsString(), dateTimeFormatter).toInstant(ZoneOffset.of("+8"));
                    }
                });
        return JsonMapper.builder()
                .deactivateDefaultTyping()
                .addModules(javaTimeModule)
                .build();
    }
    
  • 相关阅读:
    CAP分布式
    专职DBA-MySQL数据库开篇
    os.sep
    DocStrings
    Python如何获取脚本的参数
    LVM基础命令
    VoAndEntityTrans
    短信倒计时
    springboot在eclipse上搭建项目一(无页面)
    springboot问题
  • 原文地址:https://www.cnblogs.com/seliote/p/16477660.html
Copyright © 2020-2023  润新知