文章主要講解在Springboot裏面使用hibernate-validator,默認Springboot已經幫我們集成了hibernate-validator。
其他方式加入依賴:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
方式1,在@RequestBody註解值對象處使用,在值對象ValBean裏面加上校驗字段的註解:
在controller中使用,這裏校驗不通過會拋出MethodArgumentNotValidException異常,我們使用spring的統一異常處理攔截(@RestControllerAdvice+@ExceptionHandler)。
方式2,在@PathVariable和@RequestParam類型處使用:
在controller中使用,這裏校驗不通過會拋出ConstraintViolationException異常,我們同樣使用spring的統一異常處理攔截(@RestControllerAdvice+@ExceptionHandler)。
統一異常攔截處理:
配置, @PathVariable和@RequestParam方式注意需要在 controller類上加上@Validated註解,同時配置MethodValidationPostProcessor類Bean
源碼:https://github.com/hsj-xiaokang/springboot-validator