【发布时间】:2018-04-24 23:32:10
【问题描述】:
我们正在为一个项目评估 Spring 5,但不确定如何最好地验证 Mono 参数。传统上,我们一直使用 MethodValidationPostProcessor 来验证我们的方法参数,如下所示:
@Validated
@Service
public class FooService
@Validated(SignUpValidation.class)
public void signup(@Valid UserCommand userCommand) {
...
}
然后我们将在ControllerAdvice 或ErrorController 中处理异常,并将合适的 4xx 响应传递给客户端。
但是当我将参数更改为Mono时,如下所示,它似乎不再起作用了。
@Validated
@Service
public class FooService
@Validated(SignUpValidation.class)
public Mono<Void> signup(@Valid Mono<UserCommand> userCommand) {
...
}
据我了解 Spring Reactive,可能它实际上不应该工作。那么,验证 Monos 和 Fluxes,然后发送合适的错误响应的 Spring 5 最佳实践是什么?
【问题讨论】:
标签: spring spring-mvc spring-boot spring-webflux spring-validator