Desserializando LocalDateTime com o módulo Jackson JSR310
Estou usando a biblioteca descritaa página Jackson Datatype JSR310 mas ainda estou tendo dificuldades para fazê-lo funcionar.
Eu configurei o seguinte bean:
@Bean
@Primary
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JSR310Module());
return mapper;
}
Quando eu chamo minha API REST, a saída do formato de data éyyyy-MM-dd'T'HH:ss.SSSSSS
, por exemplo.2015-04-11T00:10:38.905847
. Isso é tratado pelo meu código AngularJS muito bem.
Quando quero enviar algo para a API REST, a data é publicada comoyyyy-MM-dd'T'HH:mm:ss.SSS'Z'
, por exemplo.2015-04-09T08:30:00.000Z
Jackson continua reclamando sobre o 'Z' no final. Se eu olhar para oLocalDateTimeDeserializer
na documentação que usa oDateTimeFormatter.ISO_LOCAL_DATE_TIME
que ferve aISO_LOCAL_DATE'T'ISO_LOCAL_TIME
e menciona que não tem zona de substituição.
Então achei que deveria definir oDateFormat
noObjectMapper
Estou criando:
@Bean
@Primary
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JSR310Module());
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"));
return mapper;
}
Mas isso não faz nada. Eu mudei para algo simples comoyyyy-MM-dd
mas a data serializada permaneceu no formato anterior e a desserialização também não é afetada.
O que estou fazendo de errado aqui para que isso funcione? O formato da data no meu código JavaScript é, tanto quanto eu sei o formato ISO 8601 ...