Java Springbean验证提供ConstraintDeclarationException
我正在获取javax.validation.ConstraintDeclarationException:HV000197:未找到reactor.core.publisher.Mono类型的类型参数“T”的值提取器。 在类级别添加@Validated之后,我得到了这个结果。如果我删除此选项,则不会触发任何验证逻辑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
@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本身时执行验证