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

相关推荐
数据小爬虫@8 分钟前
如何利用java爬虫获得淘宝商品评论
java·开发语言·爬虫
喜欢猪猪9 分钟前
面试题---深入源码理解MQ长轮询优化机制
java
monkey_meng26 分钟前
【遵守孤儿规则的External trait pattern】
开发语言·后端·rust
天天进步201528 分钟前
Vue+Springboot用Websocket实现协同编辑
vue.js·spring boot·websocket
草莓base39 分钟前
【手写一个spring】spring源码的简单实现--bean对象的创建
java·spring·rpc
Estar.Lee41 分钟前
时间操作[计算时间差]免费API接口教程
android·网络·后端·网络协议·tcp/ip
drebander1 小时前
使用 Java Stream 优雅实现List 转化为Map<key,Map<key,value>>
java·python·list
乌啼霜满天2491 小时前
Spring 与 Spring MVC 与 Spring Boot三者之间的区别与联系
java·spring boot·spring·mvc
tangliang_cn1 小时前
java入门 自定义springboot starter
java·开发语言·spring boot
程序猿阿伟1 小时前
《智能指针频繁创建销毁:程序性能的“隐形杀手”》
java·开发语言·前端