2017-05-31 2 views
0

Ich habe ein Problem mit diesem Spring Boot Customizer für Jackson. Das Debuggen scheint konfiguriert zu sein, aber Jackson benutzt das Modell nicht während der (De-) Serialisierung.Wie erstelle ich einen Jackson Customizer für Jackson-Datentyp-Geld in Spring Boot?

import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; 
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; 
import org.springframework.stereotype.Component; 
import org.zalando.jackson.datatype.money.MoneyModule; 


@Component 
public class JacksonMoneyDatatypeCustomizer implements Jackson2ObjectMapperBuilderCustomizer { 

    @Override 
    public void customize(Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder) { 
     jacksonObjectMapperBuilder.modulesToInstall(new MoneyModule()); 
    } 
} 

Ist dies der richtige Weg, um dies zu lösen?

+0

Auch bemerkt, dass die JSR-310 Zeug nicht jetzt entweder richtig funktioniert. Irgendwelche Hinweise auf die beste Art zu debuggen, wie Springboot diese Module anwendet und den resultierenden ObjectMapper verwendet? –

Antwort

1

Es ist eine der Methoden, um es anzupassen.

Für das Hinzufügen eines Moduls ein einfacher Ansatz ist es, nur das Modul als Bohne zu definieren, wird es dann an den

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-spring-mvc.html#howto-customize-the-jackson-objectmapper

Wahrscheinlicher ObjectMapper

@Bean 
public Module moneyModule(){ 
     return new MoneyModule(); 
} 
aufgenommen und hinzugefügt werden, ist es ein Problem mit der Implementierung als die Registrierung des Moduls selbst.

+0

Ich habe das versucht und ich hatte das gleiche Ergebnis, also wechselte ich zum Customizer. Ich weiß immer noch nicht, warum es nicht auf meinen MonetaryAmount angewendet wird. –

Verwandte Themen