Chapter 12. Bean Validator
Validate the message body using the Java Bean Validation API.
12.1. What’s inside Copy linkLink copied to clipboard!
-
Bean Validator component, URI syntax:
bean-validator:label
Please refer to the above link for usage and configuration details.
12.2. Maven coordinates Copy linkLink copied to clipboard!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-bean-validator</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-bean-validator</artifactId>
</dependency>
12.3. Usage Copy linkLink copied to clipboard!
12.3.1. Configuring the ValidatorFactory Copy linkLink copied to clipboard!
Implementation of this extension leverages the Quarkus Hibernate Validator extension.
Therefore it is not possible to configure the ValidatorFactory
by Camel’s properties (constraintValidatorFactory
, messageInterpolator
, traversableResolver
, validationProviderResolver
and validatorFactory
).
You can configure the ValidatorFactory
by the creation of beans which will be injected into the default ValidatorFactory
(created by Quarkus). See the Quarkus CDI documentation for more information.
12.3.2. Custom validation groups in native mode Copy linkLink copied to clipboard!
When using custom validation groups in native mode, all the interfaces need to be registered for reflection (see the documentation).
Example:
@RegisterForReflection public interface OptionalChecks { }
@RegisterForReflection
public interface OptionalChecks {
}
12.4. Camel Quarkus limitations Copy linkLink copied to clipboard!
It is not possible to describe your constraints as XML (by providing the file META-INF/validation.xml), only Java annotations are supported. This is caused by the limitation of the Quarkus Hibernate Validator extension (see the issue).