如何使用spring boot格式化json日期格式

时间:2015-03-16 13:07:07

标签: java json spring rest spring-boot

我正在使用spring boot和gradle来创建休息服务。现在我需要以“yyyy-MM-dd”的形式格式化json日期,即格式应该是dateOfBirth:“16-03-2015”,但我得到的是“dateOfBirth:-751181400000”。我在我的Apllication.java类中添加了以下代码,但仍然无法获得所需的输出。

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

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

请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:21)

使用Spring Boot,您应该能够通过在application.yml / application.properties中设置以下属性来设置Jackson格式化日期的默认方式:

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)