Ich versuche, Joda DateTime Eigenschaften als ISO-8601 mit Spring Boot v1.2.0.BUILD-SNAPSHOT serialisieren Hier ist meine sehr einfache REST-Anwendung.Spring Boot Joda DateTime Serialisierung
@RestController
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
class Info{
private DateTime dateTime;
public Info(){
dateTime = new DateTime();
}
public DateTime getDateTime() {
return dateTime;
}
public void setDateTime(DateTime dateTime) {
this.dateTime = dateTime;
}
}
@RequestMapping("/info")
Info info() {
return new Info();
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public Module getModule(){
return new JodaModule();
}
}
Die DateTime wird als Zeitstempel z. { "Datetime": 1415954873412} Ich habe versucht, das Hinzufügen
@Bean
@Primary
public ObjectMapper getObjectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,
false);
return objectMapper;
}
aber das hat auch nicht geholfen. Wie konfiguriere ich Jackson in Spring Boot, um das ISO-8601-Format zu serialisieren? BTW: Ich habe nur die folgenden Abhängigkeiten zu meinem gradle
bauencompile("joda-time:joda-time:2.4")
compile("org.jadira.usertype:usertype.jodatime:2.0.1")
compile("com.fasterxml.jackson.datatype:jackson-datatype-joda:2.4.2");
können Sie auch .setSimpleDateFormat aufrufen ("yyyy-MM-dd'T'HH: mm: ss.SSSZ"); auf Ihrem Objekt-Mapper, anstatt die Klassen zu kommentieren. – tom
Das einzige, was funktioniert, ist, wenn ich die Anmerkung dh \t \t @JsonFormat (shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH: mm: ss.SSSZ") verwenden Es muss eine Möglichkeit sein, alle DateTime-Eigenschaften zu aktivieren. Ich möchte nicht alle Eigenschaften notieren müssen – edge66
Nicht sicher, ob es hilft, aber es ist wahrscheinlich ein Upgrade auf 2.4.3, die die neueste Version ist. Außerdem: Wenn '@ JsonFormat' override funktioniert, aber 'SerializationFeature.WRITE_DATES_AS_TIMESTAMPS' nicht, würde ich einen Fehler gegen das Modul einreichen - es sollte so funktionieren, wie Sie es erwarten. – StaxMan