2.12. Bean Validator
使用 Java Bean Validation API 验证消息正文。
2.12.1. 内部是什么 复制链接链接已复制到粘贴板!
-
Bean Validator 组件, URI 语法:
bean-validator:label
有关使用和配置详情,请参阅上述链接。
2.12.2. Maven 协调 复制链接链接已复制到粘贴板!
在 code.quarkus.redhat.com 上使用此扩展创建一个新项目
或者将协调添加到现有项目中:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-bean-validator</artifactId>
</dependency>
2.12.3. 使用方法 复制链接链接已复制到粘贴板!
2.12.3.1. 配置 ValidatorFactory 复制链接链接已复制到粘贴板!
此扩展的实施利用 Quarkus Hibernate Validator 扩展。
因此,无法通过 Camel 的属性 (constraintValidatorFactory, messageInterpolator, traversableResolver, validationProviderResolver 和 validatorFactory) 配置 ValidatorFactory。
您可以通过创建 Bean 来配置 ValidatorFactory,它将注入到默认的 ValidatorFactory 中(由 Quarkus 创建)。如需更多信息,请参阅 Quarkus CDI 文档。
2.12.3.2. 原生模式的自定义验证组 复制链接链接已复制到粘贴板!
在原生模式中使用自定义验证组时,需要注册所有接口以进行反映( 请参阅文档)。
例如:
@RegisterForReflection
public interface OptionalChecks {
}
2.12.4. Camel Quarkus 限制 复制链接链接已复制到粘贴板!
无法将约束描述为 XML (通过提供文件 META-INF/validation.xml),只支持 Java 注解。这是因为 Quarkus Hibernate Validator 扩展的限制(请参阅问题)。