提问者:小点点

作为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个答案

匿名用户

要让jackson反序列化Joda日期时间,请在对象映射器bean中注册JodaModule

@Bean
  ObjectMapper objectMapper() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new JodaModule());
    return objectMapper;
  }