Sar*_*nan 7 java spring spring-annotations spring-boot
我需要验证给定的日期是否具有有效的月份、日期和年份。基本上,日期格式将是“MM/dd/yyyy”。但是日期像“13/40/2018”那么我需要抛出一个错误消息,比如“无效的开始日期”。春季是否有任何注释可以完成这项工作?
@NotNull(message = ExceptionConstants.INVALID_START_DATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy")
private Date startDate;
Run Code Online (Sandbox Code Playgroud)
你可以使用类似的东西:
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
@JsonFormat(pattern = "MM/dd/yyyy")
private LocalDate startDate;
Run Code Online (Sandbox Code Playgroud)
但我不知道它是否可以与课堂一起使用Date
您可以使用自定义解串器:
public class DateDeSerializer extends StdDeserializer<Date> {
public DateDeSerializer() {
super(Date.class);
}
@Override
public Date deserialize(JsonParser p, DeserializationContext ctxt)
throws IOException, JsonProcessingException {
String value = p.readValueAs(String.class);
try {
return new SimpleDateFormat("MM/dd/yyyy").parse(value);
} catch (DateTimeParseException e) {
//throw an error
}
}
}
Run Code Online (Sandbox Code Playgroud)
并使用如下:
@JsonDeserialize(using = DateDeSerializer .class)
private Date startDate;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16816 次 |
| 最近记录: |