java服務接口參數校驗的一種方式(hibernate-validator使用)

文章主要講解在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章