Po wielu poszukiwaniach znalazłem sposób na zatrzymanie java.util.Date pól z serializacji na znaczniki czasu podczas konwertowania na odpowiedzi JSON w moim @RestController.Jackson SerializationFeature.WRITE_DATES_AS_TIMESTAMPS nie wyłączając sygnatur czasowych na wiosnę
Jednak nie mogę go uruchomić. Wszystkie znalezione posty powiedziały, aby wyłączyć funkcję SerializationFeature.WRITE_DATES_AS_TIMESTAMPS programu Jackson objet mapper. Więc napisałem następujący kod:
public class MVCConfig {
@Autowired
Jackson2ObjectMapperFactoryBean objectMapper;
@PostConstruct
public void postConstruct() {
this.objectMapper.setFeaturesToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
}
}
Jak rozumiem, config jest fasola a więc auto okablowania w odwzorowującego obiektu, aby ustawić dodatkowe właściwości powinno działać. Użyłem break points i wszystko wygląda dobrze z tą konfiguracją.
Jednak, gdy serializuję komponent bean z właściwością java.util.Date w odpowiedzi na zapytanie http, nadal otrzymuję sygnaturę czasową.
Czy ktoś wie, dlaczego to nie działa? To mnie zaskoczyło!
Właśnie coś wymyśliłem. Tworzę obiektowy moduł odwzorowujący obiekty w kontekście podstawowym, aby moje usługi zaplecza mogły go użyć do deserializacji JSON pochodzącej z serwerów zewnętrznych. Ta fasola jest pobierana przez powyższy kod MVC. Jednak gdy serializuje się odpowiedź na żądanie, zamiast tego używany jest konwerter wiadomości. Więc muszę wymyślić, jak zaadresować tę fasolę, a nie za pomocą fasoli odwzorowującej obiekty, której używa mój back-end. – drekka