Tom*_*lik 1 java spring json jackson spring-boot
我使用Spring Boot与Jackson串行化/反序列化JSON请求/响应。尝试以Date我想避免的ISO格式反序列化时遇到了一种行为。
当我使用无效的月份或年份中的某天时,Jackson会通过在日期中添加额外的天数/月份来处理它。
例如
{
"date": "2018-02-40T15:00:00+01:00"
}
Run Code Online (Sandbox Code Playgroud)
反序列化为 Mon Mar 12 15:00:00 CET 2018
要么
{
"date": "2018-14-20T15:00:00+01:00"
}
Run Code Online (Sandbox Code Playgroud)
如 Wed Feb 20 15:00:00 CET 2019
有办法以某种方式强制执行验证吗?我正在查看序列化和反序列化功能列表,但找不到任何可能影响此行为的功能。
我正在使用旧的Java Date API- java.util.Date。
您的回答为我指明了正确的方向。Jackson @JsonFormat自以来支持使用注释的宽大处理配置2.9+。
@JsonFormat(lenient = OptBoolean.FALSE)
Run Code Online (Sandbox Code Playgroud)
因此,我要做的就是jackson.version在使用Spring Boot父POM 时覆盖POM 中的属性值。
<jackson.version>2.9.4</jackson.version>
Run Code Online (Sandbox Code Playgroud)
再次感谢!
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |