出站 DTO 验证:在 Spring Boot 中通过选择激活不同的验证模式/规则

问题描述

我想将我的 Order 映射到不同的 dtos 以供下游服务使用。它们接受相同的 DTO,但需要不同的字段。

比如我的服务是A,我会发送OutboundOrderDto给B和C,对于B,order.cart.shippingAddress是必填的,但是对于C,order.cart.billingAddress是必填的。

我如何使用 Spring Boot JSR 303 验证并为每个服务激活不同的规则,以便在方法 sendOutbound(OutboundOrderDto dto) 中,我只需要在 arg 前添加 @Validated 以捕获可能为空的字段错误并停止发送?

我现在看到的只是定义 2 个 DTO,但我认为也许有更简单的方法。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)