Передача объекта как сообщения - сброс LocalDateTime

Я передаю объект ObjectDTO как POST, у которого есть параметр org.joda.time.LocalDateTime.

public class ObjectDTO dto {
  ...

  private LocalDateTime dataesecuzione;
    
  private LocalDateTime oraesecuzione;

  public LocalDateTime getDataesecuzione() {
        return dataesecuzione;
  }

  public void setDataesecuzione(LocalDateTime dataesecuzione) {
        this.dataesecuzione = dataesecuzione;
  }

  public LocalDateTime getOraesecuzione() {
        return oraesecuzione; 
  }
    
  public void setOraesecuzione(LocalDateTime oraesecuzione) {
        this.oraesecuzione = oraesecuzione;
  }
  ...

}

@PutMapping("/api/get/{id}")
public ResponseEntity<Integer> update(@PathVariable("id") int id, @RequestBody ObjectDTO dto) {
...
}

Проблема в том, что все параметры LocalDateTime сбрасываются на текущую дату / время.

Как я могу решить проблему?

Спасибо

1 ответ

Чтобы позволить Джексону десериализовать дату и время Joda, зарегистрируйте JodaModule в компоненте сопоставления объектов.

@Bean
  ObjectMapper objectMapper() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new JodaModule());
    return objectMapper;
  }
Другие вопросы по тегам