我传递了一个对象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参数都被重置为当前日期/时间。
我怎样才能解决问题呢?
谢谢
要让jackson反序列化Joda日期时间,请在对象映射器bean中注册JodaModule
@Bean
ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JodaModule());
return objectMapper;
}