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

参数校验:jakarta.validation

参数校验:jakarta.validationg

Jakarta Validation(前身为JSR-380和Bean Validation)是Java生态中用于参数校验的标准规范,提供了一套声明式的校验机制。

常⻅注解

注解适用数据类型验证规则说明
@NotBlankCharSequence子类型(String等)值不为null且去除首尾空格后长度>0,如" "不通过但"a"通过
@NotEmptyCharSequence子类型/Collection/Map/数组值不为null且不为空(字符串长度≠0/集合大小≠0),如""或空集合不通过
@NotNull任意类型值不为null,但允许空字符串或空集合

核心依赖

 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>

使用示例

public class User {@NotNull(message = "用户名不能为空")private String username;@Size(min = 6, max = 20, message = "密码长度需在6-20位")private String password;@Email(message = "邮箱格式无效")private String email;@Valid // 级联校验private Address address;
}

触发验证

@RestController
@Validated  // 启用方法级别验证
public class UserController {@PostMapping("/user")public Result createUser(@Valid @RequestBody User user) {// 当 User 对象不满足验证规则时,会抛出 MethodArgumentNotValidExceptionreturn Result.success("创建成功");}@GetMapping("/user/{id}")public Result getUser(@PathVariable @Min(1) Long id) {// 参数验证失败时抛出 ConstraintViolationExceptionreturn Result.success(userService.findById(id));}
}

异常处理

当验证失败时会抛出不同类型的异常:

  • ConstraintViolationException: 方法参数验证失败
  • MethodArgumentNotValidException: @Valid + @RequestBody 验证失败
  • HandlerMethodValidationException: Handler 方法验证失败
  • IllegalArgumentException:接收了不合法的参数
http://www.dtcms.com/a/453848.html

相关文章:

  • 网站策划厂表白网站源码大全
  • 数据结构(陈越,何钦铭)期中考试
  • 网站发展历程360浏览器主页
  • 建设网站平台的章程建设银行明细网站能查多久
  • 算术操作符 逆向汇编二
  • 《Vuejs设计与实现》第 5 章(非原始值响应式方案)下 Set 和 Map 的响应式代理
  • javascript基础入门菜鸟,javascript基础入门教程
  • 网站没有index.html深圳网站建设创想营销
  • 小米网站开发语言系统开发过程中的第一个文档
  • 分布式专题——35 Netty的使用和常用组件辨析
  • Java Caffeine 高性能缓存库详解与使用案例
  • 如何用凡科做自己的网站网站建设中的色彩搭配
  • RK3588:MIPI底层驱动学习——入门第五篇(一文梳理media、video、v4l-subdev关系)
  • 每日一个C语言知识:C 变量
  • 神秘迷宫探险 - 详细题解教程
  • VOCO摘要
  • 轻量级个人建站
  • DevDay 2025 开发者大会看点
  • 什么网站可以免费做视频软件做网站导航按钮怎么做
  • 网站建设的基本要素有专门做任务的网站
  • 十六、Linux网络基础理论 - OSI模型、TCP/IP协议与IP地址详解
  • WDF驱动开发-PNP和电源管理
  • 网站的标题标签一般是写在网站 未备案 支付宝
  • 募投绘蓝图-昂瑞微的成长密码与未来布局
  • 公司网络营销的方案思路seo整站优化外包服务
  • 工程建设公司网站怎么查询网站的域名备案
  • TypeScript 对比 JavaScript
  • 焦作网站设计公司自己怎么做外贸网站
  • ros2 消息订阅与发布示例 c++
  • 廊坊网站建设廊坊企业文化建设网站