Nach einer Menge Suche habe ich aufgespürt, wie java.util.Date Felder in Serialisierung in Zeitstempel bei der Konvertierung zu JSON Antworten in meinem @RestController gestoppt werden.Jackson SerializationFeature.WRITE_DATES_AS_TIMESTAMPS Zeitstempel im Frühjahr nicht ausschalten
Allerdings kann ich es nicht zu arbeiten. Alle Posts, die ich gefunden habe, haben die Funktion SerializationFeature.WRITE_DATES_AS_TIMESTAMPS des Jackson Objet Mappers deaktiviert. Also schrieb ich den folgenden Code:
public class MVCConfig {
@Autowired
Jackson2ObjectMapperFactoryBean objectMapper;
@PostConstruct
public void postConstruct() {
this.objectMapper.setFeaturesToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
}
}
Wie ich es verstehe, ein config eine Bohne und so Auto Verdrahtung im Objekt-Mapper setzen zusätzliche Eigenschaften funktionieren sollen. Ich habe Breakpoints benutzt und alles sieht gut aus mit diesem Setup.
Allerdings, wenn ich eine Bohne mit einer java.util.Date Eigenschaft in einer Antwort auf eine http-Anfrage serialise, bin ich immer noch einen Zeitstempel zu bekommen.
Weiß jemand, warum dies nicht funktioniert? Es hat mich verblüfft!
Ich habe etwas aus nur dachte. Ich erstelle eine Objekt-Mapper-Bean im Basiskontext, damit meine Back-End-Services diese verwenden können, um JSON von externen Servern zu deserialisieren. Diese Bean wird vom obigen MVC-Code abgeholt. Wenn ich jedoch eine Antwort auf eine Anfrage serialisiere, wird stattdessen ein Nachrichtenkonverter verwendet. Also muss ich herausfinden, wie ich diese Bean ansprechen soll und nicht, dass die Objekt-Mapper-Bean von meinem Backend verwendet wird. – drekka