gpt4 book ai didi

java - Spring Boot 2 没有序列化 LocalDateTime

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:04:36 27 4
gpt4 key购买 nike

最近尝试用spring-boot 2实现一个微服务。

现在,每当我尝试从我的 REST 服务返回一个包含 java.time.LocalDateTime 的对象时,LocalDateTime 都会被序列化为一个整数数组。像这样:

{
"id": "5bf1425f9f8de267f04b22ad",
"description": "aaaaaarrrgggghhhhh",
"timestamp": [
2018,
11,
18,
11,
43,
43,
889000000
],
"time": 2.25,
...
}

我已经尝试通过 application.yml 中的设置配置 ObjectMapper

spring:
jackson:
serialization:
write-dates-as-timestamps: false

但不起作用。我还尝试通过 Spring 配置类配置新的 ObjectMapper,如下所示:

@Configuration
public class JacksonConfig {
@Bean
@Primary
public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) {
final ObjectMapper objectMapper = builder.build();
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
return objectMapper;
}
}

我的配置已加载(调试器在断点处停止)- 只是它什么都不做。

我尝试手动将 jackson 依赖项(也用于 jsr310 模块)添加到我的 pom.xml - 也没有任何运气。

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>

出于某种原因,Spring Boot 似乎忽略了我对 ObjectMapper 所做的任何尝试,并且它一直返回相同的结果。

application.yml 中将 com.fasterxml 的日志级别设置为 DEBUG 也不会产生任何输出:

logging:
level:
com.fasterxml: DEBUG

我将 Spring Boot 2.1.0-RELEASE 与 Jackson 2.9.7 一起使用。

基本的 pom 文件是从 https://start.spring.io 生成的我的项目针对 Java 8 JVM 进行编译和运行。

最佳答案

此答案基于 teppic 对原始帖子的评论。

问题是由我的一个@Configuration 类上的@EnableWebMVC 引起的。删除@EnableWebMVC 立即解决了问题。

关于java - Spring Boot 2 没有序列化 LocalDateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53364800/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com