【发布时间】:2018-05-09 14:22:55
【问题描述】:
我有一个休息端点,我想做一个放置请求。我放置的对象有几个字符串字段和一个 LocalDateTime。字符串通过就好了,但 LocalDateTime 字段为空。奇怪的是,它并没有给我一个“我们不能反序列化这个”错误。这是我的请求正文。
[
{
"id": 2,
"description": "test2",
"modifyDate": "2018-05-07T16:13:04.597",
"modifyUser": "me"
}
]
这是我的pojo的相关部分
@Column
LocalDateTime modifyDate;
这里是终点
@PUT
@Path("/putJobs")
@Consumes({MediaType.APPLICATION_JSON})
public Response create(@NotNull @Valid List<Job> jobs) {
*my jobs object contains 1 job, with a null value for modifyDate*
}
这是我的主要课程
@SpringBootApplication
@EnableCircuitBreaker
@EntityScan("whatever.pojos")
@ImportResource({"classpath*:/META-INF/**/spring-bootstrap.xml"})
@EnableJpaRepositories(basePackages="whatever.webservice", entityManagerFactoryRef="entityManagerFactory")
public class Application {
@Bean
@Primary
public ObjectMapper serializingObjectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
return objectMapper;
}
最后,这是我的 jackson java 8 依赖项
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.8.4</version>
</dependency>
【问题讨论】:
-
该端点与 Spring 或 Spring Boot 无关。它是 Jersey 端点,而不是 Spring。您需要正确配置 Jersey。
-
很好,我已经添加了适当的标签。我们在这里同时使用 spring 和 Jersey,框架的拼凑变得令人困惑:/
标签: spring-boot jackson jersey jax-rs