sql >> Base de Datos >  >> NoSQL >> MongoDB

Resto de datos de arranque de Spring Boot, la restricción @Notnull no funciona

Tuve el mismo problema, pero solo habilitar la validación no funcionó para mí, esto funcionó tanto con JPA como con MongoDb para evitar que cualquier otra persona gaste años en esto. Esto no solo hace que la validación funcione, sino que obtengo un agradable error 400 en lugar del 500 predeterminado.

Tuve que agregar esto a mis dependencias build.gradle

    compile('org.hibernate:hibernate-validator:4.2.0.Final')

y esta clase de configuración

@Configuration
public class CustomRepositoryRestConfigurerAdapter extends RepositoryRestConfigurerAdapter {


   @Bean
   public Validator validator() {
       return new LocalValidatorFactoryBean();
   }

   @Override
   public void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener validatingListener) {
       validatingListener.addValidator("afterCreate", validator());
       validatingListener.addValidator("beforeCreate", validator());
       validatingListener.addValidator("afterSave", validator());
       validatingListener.addValidator("beforeSave", validator());
   }
}