欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論