我需要创建一个代表 JSON 请求正文的 DTO 类。
我想使用 final
字段使其完全不可变。我已经看到基于 @JSONCreator
all args 构造函数的实现,但我还需要一项功能。
DTO 类应该灵活并能够容忍请求中缺少某些字段,同时确保所有必要的属性都就位。
您能给我提供一个此类 DTO 的示例吗?
最佳答案
Jackson 将自动处理缺失的字段,并将这些字段设置为 null
。
它还有一些配置选项,决定在序列化响应时是否应省略 null 字段或将其设置为特殊值 null
。
objectMapper.setSerializationInclusion(Include.NON_NULL);
另一方面,如果您正在设计 API,您可能需要查看 Swagger/OpenAPI 并从那里以声明方式定义您的 API(您可以指定字段是可选还是必需)。然后使用 codegen 工具自动生成 DTO。 (他们将遵循最佳模式,并提供 Fluent API 样式 setter )。
关于java - 如何制作最好的DTO请求类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56414292/