我有两个字段:startDate
and endDate
我需要确保结束日期等于或晚于开始日期。最好的方法是什么?
我想确保endDate
之后被反序列化startDate
,所以我可以将逻辑放入其 setter 方法中,例如:
@JsonSetter( "end" )
public void setEnd(String end)
{
this.endDate = parseZonedDateTime( end );
// Invalid
if ( this.endDate.compareTo( this.startDate ) < 0 )
{
// Throw a validation exception
}
}
但这只有在保证首先设置 start 的情况下才有效。
我有两个字段:startDate 和 endDate,我需要确保结束日期等于或晚于开始日期。最好的方法是什么?
我不会尝试让杰克逊这么做。 Jackson 应该只专注于将 json 转换为对象。值的有效性应该由杰克逊负责。也不是反序列化顺序。
尝试验证afterjackson 的转换,可以手动进行,也可以通过 JSR-303 等验证框架进行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)