У меня есть конечная точка отдыха, где я хочу сделать запрос пут. У объекта, который я помещаю, есть пара строковых полей и LocalDateTime. Строки проходят просто отлично, но поле LocalDateTime имеет значение null. Странно, это не дает мне ошибку «мы не можем десериализовать это». Вот мое тело запроса.
[
{
"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;
}
И, наконец, вот мои зависимости Джексона и 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>