您的位置:首页 > 编程语言 > Java开发

SpringBoot--定义全局日期响应格式

2019-04-01 23:06 357 查看

背景:

今天遇到群友问如何定义全局日期响应格式,于是乎看了各种帖子,最后根据实际试验,总结出如下方法:

方法一(最方便):

[code]#在application.properties文件中配置
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

        定义,全局响应的日期格式后,如果希望单独更改某个VO的日期格式,可以使用注解 @JsonFormat(pattern = "yyyy")
或者@DateTimeFormat(pattern = "yyyy-MM-dd")。

       另外,如果配置全局日期格式后,如果希望更改响应字段的名字,不能使用fastJSON的@JSONField注解,原因可以参考 https://www.geek-share.com/detail/2701671670.html 。可以使用@JsonProperty("Date")将字段date改为首字母大写的Date。

[code]public class UserInfo implements Serializable {

private static final long serialVersionUID = -1L;

// @JsonFormat(pattern = "yyyy")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date;

public Date getDate() {
return date;
}

public void setDate(Date date) {
this.date = date;
}
}

方法二(消息转换器):

[code]package com.froad.util;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import java.text.SimpleDateFormat;

/**
* FileName: Json2MessageConventerConfig
* DESCRIPTION: 设置全局响应日期格式
*
* @author: SLY
* @create: 2019/4/1
*/
@Configuration
public class Json2MessageConventerConfig {

@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
ObjectMapper objectMapper = new ObjectMapper();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
objectMapper.setDateFormat(sdf);
converter.setObjectMapper(objectMapper);
return converter;
}

}

如果希望单独更改某个VO的日期格式,同样可以使用方法一中的方法。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: