In this episode we try out the graphql-java-extended-validation library version 15.0.1.
This library provides schema validation via a range of directives that follow the JSR-303 bean validation name/pattern.
In order to activate the directive validation with spring boot graphql, you must first create a ValidationSchemaWiring bean.
There are a range of annotations you can add to your schema. As of 2020/11/29 they are:
@AssertFalse, @AssertTrue, @DecimalMax, @DecimalMin, @Digits, @Expression, @Max, @Min, @Negative, @NegativeOrZero, @NotBlank, @NotEmpty, @Pattern, @Positive, @PositiveOrZero, @Range and @Size.
To customize the error messages:
Create a ValidationMessages.properties file, add it to the classpath
Add K,V pairs to ValidationMessages.properties in the format: key:custom error message
Set the @Directive(message: “key”) t
Things I found about this library
Dependency 15.0.3/2 is not available on common maven repositories.
Schema Validation does not trigger on nested Input Types (deal-breaker for me)
All directives are validated. Allowing for a full object validation.
Locale support and externalized custom messages
Powerful expression language with @Expression
Overall good quality of annotations. Practising what they preach.
Integates easily with spring boot graphql. But no auto-config based on the dependency.
Hope you enjoyed this tutorial!
Sure, why not.. give it a go :)
See you in the next one,
Philip
Spring Boot GraphQL Java: https://github.com/graphql-java-kicks...
Graphql java extended validation github: https://github.com/graphql-java/graph...
GraphQL Schema directives: https://www.graphql-java.com/document...
GraphQL Queries and Mutations: https://graphql.org/learn/queries/
Auf dieser Seite können Sie das Online-Video Spring Boot GraphQL Tutorial #32 – Schema Directive Validation mit der Dauer stunde minuten sekunde in guter Qualität ansehen, das der Benutzer Philip Starritt 30 November 2020 hochgeladen hat, den Link mit Freunden und Bekannten teilen, dieses Video wurde auf Youtube bereits 5,280 Mal angesehen und es wurde von 58 den Zuschauern gefallen. Viel Spaß beim Betrachtenden Zuschauern gefallen!