Ao tentar salvar no banco de dados a data que tenho recebido do meu fornt estou recebendo o seguinte erro:
Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.lang.String` from Object value (token `JsonToken.START_OBJECT`)]
A minha entidade o campo data esta assim:
private LocalDate dataNascimento;
No meu dto o campo data esta assim:
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonDeserialize(using = LocalDateDeserializer.class)
LocalDate dataNascimento,
Na tentativa de resolver criei também as seguintes classe de configuração:
@Configuration
public class JacksonConfig {
@Bean
public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
return builder -> {
builder.simpleDateFormat("dd-MM-yyyy");
builder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern("dd-MM-yyyy")));
builder.deserializers(new LocalDateDeserializer(DateTimeFormatter.ofPattern("dd-MM-yyyy")));
};
}
}
public class LocalDateDeserializer extends JsonDeserializer<LocalDate> {
@Override
public LocalDate deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
// Implemente a lógica para converter o JSON em LocalDate
return LocalDate.parse(p.getText(), DateTimeFormatter.ISO_DATE);
}
}
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.json()
.modules(new JavaTimeModule())
.build();
converters.add(new MappingJackson2HttpMessageConverter(objectMapper));
}
}
Alguém poderia me ajudar a descobrir como resolvo este problema?