java - Spring Java 日期到日期模式验证

标签 java spring date

我有 Spring Rest 服务有效负载对象,其中包含日期。

现在,如果传递的日期不是 yyyy-MM-dd 格式,我想抛出解析或验证异常。示例 - 如果是 2016 年 1 月 1 日,我想抛出异常(2016 年 12 月 1 日除外)。请指教

注意 - 我正在尝试使用 getDob 直接解析日期,并且我已经看到了很多解析字符串的示例。

public class PayLoad {
    private Date dob = null;
    @JsonFormat(pattern = "yyyy-MM-dd")
    public Date getDob() {
        return dob;
    }
    @JsonFormat(pattern = "yyyy-MM-dd")
    public void setDob(Date dob) {
        this.dob = dob;
    }
}

最佳答案

首先,我不会将出生日期建模为 java.util.Date。您应该使用 java.time.LocalDate。

其次,如果您使用 Jackson,您可能需要一个自定义的 JsonSerializer/JsonDeserializer。写起来应该很简单。这是 example .

关于java - Spring Java 日期到日期模式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41389800/

相关文章:

java - 测试行为与实现

java - Hibernate逆向工程,在Spring MVC项目中使用

c# - 检测季度最后一个月的第三个星期五

java - Spring REST Jackson - StringBuilder 不与 JSON 绑定(bind)

java - 将 Groovy 与 Spring 结合使用是否会降低性能?

c# - 在 .NET 中识别替代日期(在 PowerShell、C# 或 VB 中)

swift - 如何使用 Swift 中的 Codable 转换带有可选小数秒的日期字符串?

java - 使用java为android生成登录页面

java - Spring 启动: Can we have seperate thread pool for each request?

java - 优化程序以查找数组中的第 k 个最小元素(Java,预期时间复杂度 O(n))