Don*_*mmy 7 java spring json jackson
我有两个字段:startDate和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
}
}
Run Code Online (Sandbox Code Playgroud)
但这仅在保证首先设置 start 的情况下才有效。
我有两个字段:startDate 和 endDate,我需要确保结束日期等于或晚于开始日期。最好的方法是什么?
我不会尝试让杰克逊这么做。Jackson 应该只专注于将 json 转换为对象。值的有效性应该由杰克逊负责。也不是反序列化顺序。
尝试在Jackson 转换后进行验证,可以手动进行验证,也可以通过 JSR-303 等验证框架进行验证。
| 归档时间: |
|
| 查看次数: |
4355 次 |
| 最近记录: |