2015-03-16 17 views
11

Pracuję na rozruchu i gradle wiosny do tworzenia usługi odpoczynku. Teraz potrzebuję sformatować datę json w postaci "rrrr-MM-dd", tzn. Format powinien być dateOfBirth: "16-03-2015", ale otrzymuję "dateOfBirth: -751181400000". Dodałem poniższy fragment kodu w mojej klasie Apllication.java, ale wciąż nie mogę uzyskać pożądanego wyniku.Jak sformatować format daty json przy użyciu rozruchu sprężynowego

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

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

Uprzejmie mi pomóc w rozwiązaniu tego problemu.

+0

na randkę dawać, co zrobić wyjście dostajesz i jaki był pożądany wynik? –

+0

Cześć Alvaro przepraszam za brak podania szczegółów. Wymagam dateOfBirth: "16-03-2015", ale otrzymuję dateOfBirth: -751181400000. – Pramod

+0

Jaki jest podpis metody punktu końcowego REST zwracający datę? – Paul

Odpowiedz

19

ze sprężyną Boot, powinieneś być w stanie ustawić domyślny sposób sformatowania Jackson dat ustawiając następujące właściwości w swoich 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 Dziękuję za odpowiedź. Działa dobrze tylko w Spring-boot, ale nie w Spring-boot i Spring-Hateoas. Uprzejmie mi pomóż. Czy jest jakaś alternatywa, aby to osiągnąć? – Pramod

+1

Gdzie konfigurujesz obiekt objectMapper, upewnij się, że jest ustawiona ta funkcja serializacji: 'objectMapper.configure (SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);' –

+0

to prawie * zbyt * oczywiste –

Powiązane problemy