当前位置: 首页 > news >正文

springboot使用@Validated不起作用

1、检查是否有引依赖

2、检查是否在controller上是否添加@Validated,如图:

3、 嵌套对象校验

对于嵌套对象,需要在嵌套对象的属性上添加 @Valid 注解。

4、全局异常处理器是否有添加 MethodArgumentNotValidException的处理,如图:

最后,Spring-Validate拓展

分组校验:使用接口进行定义分组校验:

public interface ValidationGroups {interface Create {}  // 创建时校验组interface Update {}  // 更新时校验组
}

在dto中使用:

@Data
public class UserDTO {@Null(groups = Create.class, message = "创建时ID必须为空")@NotNull(groups = Update.class, message = "更新时ID不能为空")private Long id;@NotBlank(groups = {Create.class, Update.class}, message = "用户名不能为空")private String username;
}

特别是在嵌套校验是需要使用@Valid进行触发嵌套校验。

在同一异常处理时:

校验失败时,Spring 会抛出:

MethodArgumentNotValidException@RequestBody校验失败)

ConstraintViolationException(方法参数校验失败)

我们一般在全局处理器去捕获并抛出。

 ​​异常转换​

ExceptionHandlerExceptionResolver

查找匹配的 @ExceptionHandler方法

精确异常类型优先(如 MethodArgumentNotValidExceptionRuntimeException

Spring-Validate的核心流程图:

http://www.dtcms.com/a/275344.html

相关文章:

  • 加法器学习
  • AI图像修复工具CodeFormer实测:马赛克去除与画质增强效果评测
  • Java使用Langchai4j接入AI大模型的简单使用(四)--整合Springboot
  • Window/linux获得程序运行目录C++
  • C++ Map 和 Set 详解:从原理到实战应用
  • 基于 Python 的数据分析技术综述
  • 2025 全球酒店用品厂家竞争力排行榜发布:扬州卓韵领衔,布草工厂实力重塑行业格局
  • 未来软件开发的新方向:从工程到智能的深度演进
  • 利用scale实现图片放大案例
  • 商业机密保卫战:如何让离职员工带不走的客户资源?
  • TCP的socket编程
  • 【unity实战】在Unity实现低耦合可复用的交互系统
  • 科技驯服烈日狂沙:中东沙漠农场的光储革命
  • SQL server之版本的初认知
  • 江协科技STM32入门教程——通信接口
  • 希尔排序和选择排序及计数排序的简单介绍
  • 数据湖和数据库对比
  • 笔记-分布式计算基础
  • 可穿戴智能硬件在国家安全领域的应用
  • day4--上传图片、视频
  • WebGL简易教程——结语
  • JVM--虚拟线程
  • 【springcloud】快速搭建一套分布式服务springcloudalibaba(四)
  • leetcode:HJ18 识别有效的IP地址和掩码并进行分类统计[华为机考][字符串]
  • 华为IPD(集成产品开发)流程是其研发管理的核心体系
  • 华为 GaussDB :技术特性、应用局限与市场争议
  • Vue Vue-route (5)
  • C++11的整理笔记
  • 快速排序递归和非递归方法的简单介绍
  • Java文件传输要点