SpringBoot怎么使用Validation校验参数

1. Validation 介绍

Validation 是用于检查程序代码中参数的有效性的框架,作为 Spring 框架中的一个参数校验工具,集成在 spring-context 包中。

1.1 Validation 注解

Validation 包含了众多的注解来帮助对Java程序不同类型的参数进行校验,校验相关注解分布在spring-boot-starter-validation 依赖的 javax.validation.constraints 包中。

  • @Null/@NotnULL,标注的字段必须为null/必须不为null
  • @AssertFalse/@AssertTrue,标注字段可以为null,但不为null时必须为false/true
  • @Email,标注的字段对应值必须为email格式
  • @URL,标注的字段值必须是URL
  • @Patten,标注的字段值必须符合定义的正则表达式

其他类似注解的使用可以查看javax.validation.constraints 包中定义注解信息。

1.2 @valid 和 @validated的区别

在实际使用 Validation 框架时,经常会对 @valid 和 @validated 注解的使用产生误解,在这里对比一下两个注解的异同。

1、当使用仅是注解字段属性并验证规范,@Validated 和 @Valid 注解的功能是相同的。

2、Spring Validation 验证框架提供了 @Validated 注解对参数进行验证,符合Spring's JSR-303规范;而 @Valid 注解是 javax 提供的,符合标准的JSR-303规范。

3、在注解的使用上,@Validated 注解可以用于类型、方法和参数上;而 @Valid 还可以用于属性之上。

原文链接:https://blog.csdn.net/m0_49496327/article/details/124121696

相关推荐
心灵宝贝2 小时前
IDEA 安装 SpotBugs 插件超简单教程
java·macos·intellij-idea
幼稚诠释青春2 小时前
Java学习笔记(对象)
java·开发语言
你怎么知道我是队长2 小时前
Go语言标识符
后端·golang
小羊学伽瓦2 小时前
【Java基础】——JVM
java·jvm
老任与码2 小时前
Spring AI(2)—— 发送消息的API
java·人工智能·spring ai
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧2 小时前
MyBatis快速入门——实操
java·spring boot·spring·intellij-idea·mybatis·intellij idea
csdn_freak_dd2 小时前
查看单元测试覆盖率
java·单元测试
爱吃烤鸡翅的酸菜鱼2 小时前
【SpringMVC】详解cookie,session及实战
java·http·java-ee·intellij-idea
Wyc724093 小时前
JDBC:java与数据库连接,Maven,MyBatis
java·开发语言·数据库
老任与码3 小时前
Spring AI(3)——Chat Memory
java·人工智能·spring ai