2015-03-16 8 views
11

Sto lavorando su spring boot e gradle per creare un servizio di riposo. Ora ho bisogno di formattare la data di JSON sotto forma di "yyyy-MM-dd", cioè il formato dovrebbe essere dateOfBirth: "16-03-2015", ma ottengo "dateOfBirth: -751181400000". Ho aggiunto il codice di seguito riportato nella mia classe Apllication.java, ma non riesco ancora a ottenere l'output desiderato.Come formattare il formato della data di JSON usando il boot a molla

@Bean 
@ConditionalOnClass({ ObjectMapper.class, Jackson2ObjectMapperBuilder.class }) 
public Jackson2ObjectMapperBuilder jacksonBuilder() 
{ 
    Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder(); 
    builder.indentOutput(true).dateFormat(new SimpleDateFormat("yyyy-MM-dd")); 
    return builder; 
} 

E Application.java:

@Configuration 
@Import(SubjectServiceConfig.class) 
@EnableAutoConfiguration 
@EnableEurekaClient 
@ComponentScan({"com.billing"}) 
@EnableWebMvc 
@EnableHypermediaSupport(type = EnableHypermediaSupport.HypermediaType.HAL) 
public class Application { 
public static void main(String[] args) { 
    SpringApplication.run(Application.class, args); 
} 
} 

Gentilmente aiutarmi a risolvere questo problema.

+0

Per dare una data, che cosa fare di uscita ottieni e qual è stato l'output desiderato? –

+0

Ciao Alvaro scusa per non aver fornito i dettagli. Ho bisogno di dateObBirth: "16-03-2015", ma sto ricevendo dateOfBirth: -751181400000. – Pramod

+0

Qual è la firma del metodo dell'endpoint REST che restituisce la data? – Paul

risposta

19

Con molla di avvio, si dovrebbe essere in grado di impostare il modo di default che Jackson formatta le date impostando la seguente proprietà nel vostro application.yml/application.properties:

spring.jackson.date-format= # Date format string (e.g. yyyy-MM-dd HH:mm:ss), or a fully-qualified date format class name (e.g. com.fasterxml.jackson.databind.util.ISO8601DateFormat) 
+0

Adam Grazie per la risposta. Funziona bene per Spring-boot da solo, ma non con Spring-boot e Spring-Hateoas. Gentilmente aiutami. O ci sono alternative per ottenere questo. – Pramod

+1

Dove si configura objectMapper, assicurarsi che questa funzione di serializzazione sia impostata: 'objectMapper.configure (SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);' –

+0

è quasi * troppo * ovvio –

Problemi correlati