我正在从事 JPA-Hibernate 项目。我有一个日期反序列化问题,但我在下面也有解决方案。
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.S")
private Date createdAt;
当我将 @JsonFormat 注释与日期一起使用时,我解决了问题,但我不想在每个日期变量中使用此注释。我想使用 MyDate 注释,如下所示。
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.fasterxml.jackson.annotation.JsonFormat;
@Inherited
@Target({ ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.S")
public @interface MyDate {
}
当我使用 @MyDate 注释时,它无法正常工作。我总是失败,就像我从未使用过它一样。我的错误是什么?
最佳答案
这是您需要的:
用法:
@MyDate
private Date createdAt;
以及MyDate自定义注释类:
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.annotation.JsonFormat;
@JacksonAnnotationsInside
@Retention(RetentionPolicy.RUNTIME)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss.S")
public @interface MyDate {}
关于java - java中如何继承@JsonFormat注解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45275197/