Voici les configurations que j'ai faites :

Mon fichier de configuration:

<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> 

Ma classe qui étend Object

@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);
}

}

Avec cette configuration, comme je l'ai lu dans de nombreux articles, la date devrait être renvoyée au bon format dans Json, mais ce que j'ai obtenu est le suivant :

{"date": 1467920285301}

Qu'est-ce que je fais mal?

1
Gabriel 7 juil. 2016 à 22:47

2 réponses

Meilleure réponse

J'ai mis à jour la version de mon projet Spring vers la version 4.2.6 RELEASE. Faire cela a résolu mon problème.

0
Gabriel 25 juil. 2016 à 19:51

Essayez d'ajouter cette ligne au constructeur :

this.setDateFormat(new ISO8601DateFormat());
0
mdziob 8 juil. 2016 à 11:18