Springboot整合hibernate validator 全局異常處理步驟詳解
更新時間:2024年01月24日 11:29:27 作者:梁云亮
本文分步驟給大家介紹Springboot整合hibernate validator 全局異常處理,補呢文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
第一步:依賴
<!--數(shù)據(jù)有效性校驗--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
第二步:配置文件
@Configuration public class HibernateValidatorConfig { @Bean public static Validator validator() { return Validation.byProvider(HibernateValidator.class) .configure() // 開啟快速校驗(不校驗所有參數(shù),只要出現(xiàn)校驗失敗情況直接返回,不再進行后續(xù)參數(shù)校驗),默認校驗所有參數(shù),false校驗全部 .failFast(true) .buildValidatorFactory() .getValidator(); } }
第三步:全局異常處理
@RestControllerAdvice public class GlobalExceptionHandler { /** * Hibernate validator 參數(shù)校驗異常 * * @param ex * @return */ @ExceptionHandler(MethodArgumentNotValidException.class) public ResultBean<String> validationErrorHandler(MethodArgumentNotValidException ex) { // 同樣是獲取BindingResult對象,然后獲取其中的錯誤信息 // 如果前面開啟了fail_fast,事實上這里只會有一個信息 //如果沒有,則可能又多個 List<String> errorInformation = ex.getBindingResult().getAllErrors() .stream() .map(ObjectError::getDefaultMessage) .collect(Collectors.toList()); return ResultBeanUtil.error("").setMsg(errorInformation.toString()); } }
第四步:
@Getter @Setter @ToString public class AdminLoginDTO { @NotBlank(message = "賬戶不能為空") @Size(min = 6, max = 32) private String account; @NotBlank(message = "密碼不能為空") @Size(min = 6, max = 32) private String password; }
第五步:
@PostMapping("/v1/login") public ResultBean<SaTokenInfo> login(@RequestBody @Valid AdminLoginDTO adminLoginDTO) { }
到此這篇關于Springboot整合hibernate validator 全局異常處理的文章就介紹到這了,更多相關Springboot全局異常處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java讀取properties配置文件時,出現(xiàn)中文亂碼的解決方法
下面小編就為大家?guī)硪黄狫ava讀取properties配置文件時,出現(xiàn)中文亂碼的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11Mybatis?在?insert?插入操作后返回主鍵?id的操作方法
這篇文章主要介紹了Mybatis?在?insert?插入操作后返回主鍵?id的操作方法,本文結合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12spring多數(shù)據(jù)源配置實現(xiàn)方法實例分析
這篇文章主要介紹了spring多數(shù)據(jù)源配置實現(xiàn)方法,結合實例形式分析了spring多數(shù)據(jù)源配置相關操作技巧與使用注意事項,需要的朋友可以參考下2019-12-12Spring Security 實現(xiàn)用戶名密碼登錄流程源碼詳解
在服務端的安全管理使用了Spring Security,用戶登錄成功之后,Spring Security幫你把用戶信息保存在Session里,但是具體保存在哪里,要是不深究你可能就不知道,今天小編就帶大家具體了解一下Spring Security實現(xiàn)用戶名密碼登錄的流程2021-11-11Java SimpleDateFormat中英文時間格式化轉換詳解
這篇文章主要為大家詳細介紹了Java SimpleDateFormat中英文時間格式化轉換,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12java集成開發(fā)SpringBoot生成接口文檔示例實現(xiàn)
這篇文章主要為大家介紹了java集成開發(fā)SpringBoot如何生成接口文檔的示例實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10Springboot如何通過yml配置文件為靜態(tài)成員變量賦值
這篇文章主要介紹了Springboot如何通過yml配置文件為靜態(tài)成員變量賦值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10