Ho avuto lo stesso problema, ma solo abilitare la convalida non ha funzionato per me, ha funzionato sia con JPA che con MongoDb per salvare chiunque altro a spendere anni su questo. Non solo questo fa funzionare la convalida, ma ottengo un piacevole errore 400 piuttosto che il 500 predefinito.
Ho dovuto aggiungerlo alle mie dipendenze build.gradle
compile('org.hibernate:hibernate-validator:4.2.0.Final')
e questa classe di configurazione
@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());
}
}