【发布时间】:2021-01-14 15:24:03
【问题描述】:
我想将我的Order 映射到不同的 dto 以供下游服务使用。它们接受相同的 DTO,但需要不同的字段。
例如,我的服务是 A,我会向 B 和 C 发送OutboundOrderDto,对于 B,order.cart.shippingAddress 是强制性的,但对于 C,order.cart.billingAddress 是强制性的。
如何使用 Spring Boot JSR 303 验证并为每个服务激活不同的规则,以便在方法 sendOutbound(OutboundOrderDto dto) 中,我只需在 arg 前添加 @Validated 即可捕获可能为空的字段错误并停止发送?
我现在看到的只是定义 2 个 DTO,但我认为也许有更简单的方法。
【问题讨论】:
-
参见reflectoring.io/bean-validation-with-spring-boot/…上的“使用验证组为不同的用例验证不同的对象”
-
啊..是的,我还发现了这个:beanvalidation.org/1.0/spec/…
标签: java spring bean-validation