@JsonFormat的导包问题

@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以该格式注入格式
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")//输出格式
private Date birthday;//出生日期',

在后台像前台传参数时,日期没有格式化,网上搜索了,输出用@JsonFormat但是没说用哪个包

下面是我脱坑之路:
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

<!-- JSON: jackson -->
<dependency>
  <groupId>org.codehaus.jackson</groupId>
  <artifactId>jackson-core-asl</artifactId>
  <version>1.9.12</version>
</dependency>
<dependency>
  <groupId>org.codehaus.jackson</groupId>
  <artifactId>jackson-mapper-lgpl</artifactId>
  <version>1.9.12</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-annotations</artifactId>
  <version>2.9.0</version>
</dependency>

问题补充:我想要的是返回给前台的时间已经格式化,然而上面并没有解决我的问题于是:

方法如下:

单独写一个处理类继承JsonSerializer

package com.szch.aspect;

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 格式化Response时间格式
 * 在springmvc返回json数据的时候默认日期字段显示的是long类型的时间戳
 * 如果想要返回格式化的日期如:yyyy-MM-dd这种格式的需要进行出现
 */
public class CustomDateSerializer extends JsonSerializer<Date> {

    public void serialize(Date value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException{
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            jsonGenerator.writeString(sdf.format(value));
    }
}
 

在实体类的属性字段上添加@JsonSerialize注解

@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以该格式注入格式
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//输出格式
@JsonSerialize(using = CustomDateSerializer.class)
private Date lastLogin;//最后登录时间',

结果OK了,postman返回

 

二、Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'

直接使用注解
 @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) Date begindate

 



posted @ 2018-08-11 11:18  别动我的猫  阅读(9309)  评论(0编辑  收藏  举报