gpt4 book ai didi

java - 具有完整 POJO 数据绑定(bind)的 Jackson 自定义过滤器

转载 作者:搜寻专家 更新时间:2023-10-30 21:27:21 24 4
gpt4 key购买 nike

这个问题扩展了this question .

如果您只有几个字段,之前的解决方案效果很好,但当您有十几个字段时,它就变得难以维护了。现在,我当前的设置使用完整的数据绑定(bind),所以我有一个 POJO,Jackson 将使用它来自动反序列化 JSON。

但是,和以前一样,某些字段具有需要传递的约束。本质上,我正在寻找类似于 this 的答案,但无需设置任何属性。只是一个自定义反序列化器,它将充当过滤器并在字段不满足约束时抛出自定义异常。如果过滤器结束时没有抛出异常,Jackson 应该自动将 JSON 绑定(bind)到 POJO。

最佳答案

好像Json Schema可能适合您的需要。它允许在反序列化之前对 json 字符串进行灵活(和复杂)的验证规则。它包括必填字段、基于正则表达式的值检查、行业标准格式(例如,您可以将字段定义为“电子邮件”格式)、跨字段依赖性(在最新的 v4 中)等

以上是与语言无关的标准。至于 Java 实现,我使用了 this one它支持最新的 json 模式版本(标准仍在发展中)。 validator 的初始集成有很多工作,(因为我的 json 模型非常动态)但之后引入新的验证规则非常方便(只需要更改 json 模式文件)

关于java - 具有完整 POJO 数据绑定(bind)的 Jackson 自定义过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39603910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com