2016-07-07 10 views
1

Hier sind die Konfigurationen, die ich gemacht habe:Konfiguration von CustomJacksonMapper mit Datetime beschäftigen funktioniert nicht auf Frühling 4.1.5

Meine Konfigurationsdatei:

<mvc:annotation-driven> 
    <mvc:message-converters> 
     <!-- Support for Joda Time --> 
     <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> 
      <property name="objectMapper" ref="customJacksonMapper" /> 
     </bean> 
    </mvc:message-converters> 
</mvc:annotation-driven> 

Meine Klasse, die Gegenstand erstreckt

@Component("customJacksonMapper") 
public class CustomJacksonMapper extends ObjectMapper { 
/** The Constant serialVersionUID. */ 
private static final long serialVersionUID = 1L; 

/** 
* Instantiates a new custom jackson mapper. 
* 
* RegisterModule = Registar o módulo do JodaTime. 
* Locale = Padrão portugues Brasil. 
* TimeZone = Converte para o timezone de São Paulo. 
* 
*/ 
public CustomJacksonMapper() { 
    this.registerModule(new JodaModule()); 
    this.setLocale(new Locale("pt_BR")); 
    this.setTimeZone(TimeZone.getTimeZone("America/Sao_Paulo")); 
    this.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS , false); 
    this.setSerializationInclusion(JsonInclude.Include.NON_NULL); 
} 

}

Mit dieser Konfiguration, wie ich auf viele Beiträge gelesen habe, die Datum sollte auf das richtige Format in Json zurückgegeben werden, aber was ich habe ist folgendes:

{"date": 1467920285301} 

Was mache ich falsch?

Antwort

0

ich die Version meines Frühlings-Projekt 4.2.6 RELEASE aktualisiert. Das hat mein Problem gelöst.

0

Versuchen Sie, diese Linie zu Konstruktor hinzuzufügen:

this.setDateFormat(new ISO8601DateFormat()); 
+0

Nein. Es funktioniert nicht mit dieser Konfiguration – Gabriel

+0

Könnten Sie das näher erläutern? Wird das Datum weiterhin auf die gleiche Weise serialisiert? Könnten Sie auch Code angeben, in dem Sie diesen benutzerdefinierten Mapper verwenden? – mdziob

+0

Ja, das Datum wird auf die gleiche Weise serialisiert. Dieser benutzerdefinierte Mapper wird bis zum Frühjahr verwendet, ich habe gerade den ObjectMapper von Spring übergangen, um den CustomJacksonMapper zu verwenden – Gabriel