Auto configuration for json-schema-validator
- Dependency
<dependency> <groupId>ru.rnemykin.spring.boot</groupId> <artifactId>json-schema-spring-boot-starter</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>- Use default configuration or define your own
@Bean public Library library(AbstractKeywordProcessor processor, ApplicationContext ctx) { LibraryBuilder builder = DraftV4Library.get().thaw(); builder.addKeyword( Keyword.newBuilder(processor.keyword()) .withSyntaxChecker(...) .withDigester(...) .withValidatorFactory(new SpringAwareKeywordValidatorFactory(...) .freeze() ); return builder.freeze(); } - Write custom keywordValidators
@ToString @Component public class EnumDbValueKeywordProcessor extends AbstractKeywordProcessor { ..... }- Do validation (see example)
@Autowired private JsonSchemaFactory jsonSchemaFactory; //... ProcessingReport report = jsonSchemaFactory.getValidator().validate(schema, entity);