<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.2.Final</version> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>1.4.0.RELEASE</version> </dependency>
Jika anda ingin menetapkan atribut fail_fast
, true
bermakna jika terdapat ralat parameter, ia akan dikembalikan. Lalai Apabila menyemak semua parameter, mesti ada fail konfigurasi
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
di mana methodValidationPostProcessor berfungsi pada requestParam
mewarisi WebMvcConfigurerAdapter
dan mengatasi getValidator()
kaedah, Biarkan pengesahan permintaan musim bunga Validator
gunakan pengesah kami di atas untuk menjadikan set failFast
berkuat kuasa, sila rujuk kaedah org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport#mvcValidator
import org.hibernate.validator.HibernateValidator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.validation.beanvalidation.MethodValidationPostProcessor; import org.springframework.validation.beanvalidation.SpringValidatorAdapter; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; /** * hibernate参数验证配置 */ @Configuration public class ValidatorConfig extends WebMvcConfigurerAdapter { @Bean public Validator validator() { ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class) .configure() // 将fail_fast设置为true即可,如果想验证全部,则设置为false或者取消配置即可 .failFast(true) // .addProperty("hibernate.validator.fail_fast", "true") .buildValidatorFactory(); return validatorFactory.getValidator(); } /** * requestParam方式的校验 * @return */ @Bean public MethodValidationPostProcessor methodValidationPostProcessor() { MethodValidationPostProcessor methodValidationPostProcessor = new MethodValidationPostProcessor(); methodValidationPostProcessor.setValidator(validator()); return methodValidationPostProcessor; } @Override public org.springframework.validation.Validator getValidator() { return new SpringValidatorAdapter(validator()); } }
Jika anda menulis pengesahan parameter secara terus seperti, tambahkan anotasi
@RequestParam
pada kelas atau kaedah yang sepadan jika ia diterima oleh kelas entiti , entiti dalam parameter Cuma tambahValidated
sebelum@Valid
Atas ialah kandungan terperinci Cara SpringBoot menggunakan pengesahan untuk pengesahan parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!