1、针对json格式:在配置文件中加以下配置
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
2、针对form表单格式,加下面这句配置就可以
spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss
3、也可以在pojo中对特定的date类型属性加了以下配置
@DateTimeFormat来控制入参,@JsonFormat来控制出参
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
如果嫌这样每个类配置太繁琐,可以在启动类中注入一个日期转换的bean
@Bean public Converter<String, Date> addNewConvert() { return new Converter<String, Date>() { @Override public Date convert(String source) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { date = sdf.parse( source); } catch (Exception e) { e.printStackTrace(); } return date; } }; }
然后在配置文件application.properties文件中添加
spring.jackson.date-format=yyyy-MM-dd
4、返回给前台的查询结果json数据有很多字段值为null,这很不优雅。
解决办法很简单,在application.yml中添加一行配置,json处理时忽略空值:
spring:
jackson:
default-property-inclusion: non_null # 配置json处理时忽略空值
或者在类上声明
@JsonInclude(JsonInclude.Include.NON_NULL)
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)//该注解配合jackson,序列化时忽略 null属性
public class AjaxResult implements Serializable {
}
对于非springboot传统项目可以参考我的另一篇文章:
https://blog.csdn.net/li_jiazhi/article/details/89213663