Java Springbean验证提供ConstraintDeclarationException

Java Springbean验证提供ConstraintDeclarationException,java,spring,spring-boot,spring-webflux,hibernate-validator,Java,Spring,Spring Boot,Spring Webflux,Hibernate Validator,我正在获取javax.validation.ConstraintDeclarationException:HV000197:未找到reactor.core.publisher.Mono类型的类型参数“T”的值提取器。 在类级别添加@Validated之后,我得到了这个结果。如果我删除此选项,则不会触发任何验证逻辑 @RestController @Validated public class ContactInfoController implements ContactInfoAp

我正在获取javax.validation.ConstraintDeclarationException:HV000197:未找到reactor.core.publisher.Mono类型的类型参数“T”的值提取器。 在类级别添加@Validated之后,我得到了这个结果。如果我删除此选项,则不会触发任何验证逻辑

  @RestController
  @Validated
  public class ContactInfoController implements ContactInfoApi {
  public Flux<UserContactsModel> getUserContacts(@RequestBody  Mono<@Valid  LoginModel> loginDetail) {
@RestController
@验证
公共类ContactInfoController实现ContactInfoApi{
公共流量getUserContacts(@RequestBody Mono loginDetail){

您得到的错误消息实际上是一种预期行为,因为HV中没有注册
值提取器
。当应该从某个容器中提取值时,Bean验证需要这些值提取器。 有关ValueExtractor的更多详细信息,请参见此

在您的特殊情况下,
Mono
被视为一个容器。但是
Mono
Subscriber
)的概念与容器不同。我不明白如何将这两个概念混合在一起。为了能够“验证”对于mono,您实际上需要使用一些验证代理来包装其
subscribe
方法,并在将值推送到mono本身时执行验证