Springboot整合hibernate validator 全局异常处理步骤详解
更新时间:2024年01月24日 11:29:27 作者:梁云亮
本文分步骤给大家介绍Springboot整合hibernate validator 全局异常处理,补呢文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
第一步:依赖
<!--数据有效性校验-->
<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()
// 开启快速校验(不校验所有参数,只要出现校验失败情况直接返回,不再进行后续参数校验),默认校验所有参数,false校验全部
.failFast(true)
.buildValidatorFactory()
.getValidator();
}
}第三步:全局异常处理
@RestControllerAdvice
public class GlobalExceptionHandler {
/**
* Hibernate validator 参数校验异常
*
* @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全局异常处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java Web程序中利用Spring框架返回JSON格式的日期
这里我们来介绍一下Java Web程序中利用Spring框架返回JSON格式的日期的方法,前提注意使用@DatetimeFormat时要引入一个类库joda-time-版本.jar,否则会无法访问相应路径2016-05-05
解决response.setHeader设置下载文件名无效的问题
这篇文章主要介绍了解决response.setHeader设置下载文件名无效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01
idea创建springboot项目,java版本只能选择17和21的解决方案
这篇文章主要介绍了idea创建springboot项目,java版本只能选择17和21的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2025-04-04
详解Maven settings.xml配置(指定本地仓库、阿里云镜像设置)
这篇文章主要介绍了详解Maven settings.xml配置(指定本地仓库、阿里云镜像设置),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-12-12
Mybatis Generator Plugin悲观锁实现示例
本文将从悲观锁为例,让你快速了解如何实现Mybatis Generator Plugin。文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-09-09


最新评论