Я использую пример Spring Boot + Spring data Redis
для сохранения даты в Redis Cache. Хотя я использовал @DateTimeFormat @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
, но все же настойчивость происходит долго. Выглядит как миллисекунда.
Может ли кто-нибудь подсказать, если мне нужно установить дополнительные конфигурации для сохранения даты, например yyyy-MM-dd
.
HGETALL users:1
1) "_class"
2) "com.XXX.entity.User"
3) "userId"
4) "1"
5) "name"
6) "John"
7) "createdDate"
8) "1542043247352"
Классы сущностей:
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@RedisHash("users")
public class User {
@Id
private Long userId;
private String name;
@DateTimeFormat
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date createdDate;
private List<Group> groups;
}
ОБНОВЛЕНИЕ-1 :: Согласно предложению я реализовал, но все еще не работает
CustomDateSerializer.java
@Component
public class CustomDateSerializer extends JsonSerializer<Date> {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy");
@Override
public void serialize(Date date, JsonGenerator gen, SerializerProvider provider)
throws IOException, JsonProcessingException {
String formattedDate = dateFormat.format(date);
gen.writeString(formattedDate);
}
}
Пользовательский интерфейс
@Retention(RetentionPolicy.RUNTIME)
public @interface MyJsonFormat {
String value();
}
Класс модели
@MyJsonFormat("dd.MM.yyyy")
@JsonSerialize(using = CustomDateSerializer.class)
private Date createdDate;