@Validated注解

article/2025/10/1 8:51:30

一. 在javaEE项目中经常要判断一些字段的格式是否正确。在以前基本上都是用if(啥啥 啥)else(啥啥啥) 。但是在知道@Validated之后就开始尝试用这个注解了。不但减轻代码量而 且代码更加的易读规整。

二. 下面就以简单例子来说明。

  1. Controller 层
@PostMapping("student")
@ApiOperation("学生注册")
public @ResponseBody
Map<String, Object> registerStudent(@RequestBody @Validated UserJsonBean user, HttpServletRequest request) throws UnsupportedEncodingException, NoSuchAlgorithmException {Map<String,Object> retMap;retMap=registerService.baseRegister(user,0,request);return retMap;}

在要校验对象上加上@Validated注解

2.Bean层

(1)
public class UserJsonBean  extends User
(2)
public class User {@Id@Column(name="id",nullable = false)@GeneratedValueprivate Long id;@Email@Column(name = "user_email", nullable = false)private String userEmail;

3.测试

(1)传入数据

{"emailCode": 1234,"phoneCode": "1234","picCode": "string","userEmail": "zjut.wujinhuiqq.com","userName": "wujinhui","userPassword": "123456","userPhone": "string"
}

(2)测试结果:

{"timestamp": "2018-05-25T10:19:59.898+0000","status": 400,"error": "Bad Request","errors": [{"codes": ["Email.userJsonBean.userEmail","Email.userEmail","Email.java.lang.String","Email"],"arguments": [{"codes": ["userJsonBean.userEmail","userEmail"],"arguments": null,"defaultMessage": "userEmail","code": "userEmail"},[],{"defaultMessage": ".*","arguments": null,"codes": [".*"]}],"defaultMessage": "不是一个合法的电子邮件地址","objectName": "userJsonBean","field": "userEmail","rejectedValue": "zjut.wujinhuiqq.com","bindingFailure": false,"code": "Email"}],"message": "Validation failed for object='userJsonBean'. Error count: 1","path": "/register/student"
}

三.@Validated 相关注解


http://chatgpt.dhexx.cn/article/OYeq8riX.shtml

相关文章

@Valid 和 @Validated 注解用法详解

目录 案例引入 Valid 详解 Validated 详解 Valid 和 Validated 比较 案例引入 下面我们以新增一个员工为功能切入点&#xff0c;以常规写法为背景&#xff0c;慢慢烘托出 Valid 和 Validated 注解用法详解。 那么&#xff0c;首先&#xff0c;我们会有一个员工对象 Emplo…

@Validated注解详解,分组校验,嵌套校验,@Valid和@Validated 区别,Spring Boot @Validated

技术栈&#xff1a; spring boot 2.3.3.RELEASE hibernate-validator 文末附项目源代码 目录 简述 项目依赖 全局异常处理类 基础参数校验 实体类 控制类 测试 嵌套参数验证 实体类 控制类 测试 分组参数验证 接口类 实体类 控制类 测试 Valid和Validated 区…

@Valid与@Validated的区别

1.介绍 说明&#xff1a; 其实Valid 与 Validated都是做数据校验的&#xff0c;只不过注解位置与用法有点不同。 不同点&#xff1a; &#xff08;1&#xff09; Valid是使用Hibernate validation的时候使用。Validated是只用Spring Validator校验机制使用。 &#xff08;2&…

优雅的使用Validated

前言 Validation是一套帮助我们继续对传输的参数进行数据校验的注解&#xff0c;通过配置Validation可以很轻松的完成对数据的约束。 这个技术一直都想进行梳理了很多复杂校验不会使用&#xff0c;本章节用来进行梳理 validated 用于参数的校验&#xff0c;支持简单和复杂(分组…

@Valid与@Validated区别

1.Valid与Validated作用 Valid与Validated都是用来校验接收参数的。Valid是使用Hibernate validation的时候使用Validated是只用Spring Validator校验机制使用说明&#xff1a;java的JSR303声明了Valid这类接口&#xff0c;而Hibernate-validator对其进行了实现。Validated与V…

java中换行符_Java 中的空格符、换行符等怎么表示

展开全部 特殊字符的自表示方法&#xff1a;&#xff1a; 1、\t 空格2113 (\u0009) 2、\n 换行 (\u000A) 3、\\ 反斜杠5261 4、\r 回车 (\u000D) 5、\d 数字4102等价1653于[0-9] 6、\D 非数字等价于[^0-9] 7、\s 空白符号 [\t\n\x0B\f\r] 8、\S 非空白符号 [^\t\n\x0B\f\r] 9、…

java通用文件换行符_java通用文件换行符

java通用文件换行符 [2021-02-07 00:14:46] 简介: java中的换行符是【\n】和【\r】。二者的区别是:【\r】表示回车,【\n】表示新行,但两者都可以实现换行。具体实现方法如:【System.out.print("\n")】。在java中,可以使用\n和\r来 php如何去掉换行符 2020-09-0…

java 处理换行符_Java 文件换行符识别与转换

项目经验,如需转载,请注明作者:Yuloran (t.cn/EGU6c76) 背景 项目开发需要手动合入几十种语言的翻译到 string.xml 中,这是一件非常痛苦的事情:Copy、Paste,Copy、Paste,Copy、Paste... 人都快疯了!被逼无奈写了个自动替换翻译的工具,原理很简单:解析 Excel中的翻译,…

java回车换行符linux,回车换行符 java

回车换行符 java [2021-01-31 11:28:50] 简介: java中的换行符是【\n】和【\r】。二者的区别是:【\r】表示回车,【\n】表示新行,但两者都可以实现换行。具体实现方法如:【System.out.print("\n")】。在java中,可以使用\n和\r来 php如何去掉换行符 2020-09-02 p…

java 分行符_java换行符有哪些

在java中可以使用的换行符有&#xff1a;"\n"表示新行、“\r”表示回车&#xff0c;\r \n”。 在java中需要在字符串(文本)末尾包含换行符"\n"&#xff0c;“\r”或者“\r \n”就可以进行换行。 换行符"\n" "\n"也称换行&#xff0c;一…

java换行符如何使用

java换行符的使用方法&#xff1a;1、换一行【System.out.print(" “)】&#xff1b;2、换两行【System.out.println(” “)】&#xff1b;3、换三行【System.out.println(” " )】。 java换行符的使用方法&#xff1a; 可以使用Java中 和 的换行&#xff0c;不过也…

java:换行符“\n”

换行符 一、关键代码二、简单说明三、源码&#xff08;一&#xff09;、源码A&#xff08;二&#xff09;、源码A的运行效果 四、结语五、定位日期 一、关键代码 java的换行符 "\n" 两次换行&#xff08;相当于摁两次回车键的效果&#xff09; System.out.println(&…

关于ping命令出现大量dup原因

(DUP!) 这个东西是DUPLICATE的一个缩写&#xff0c;也就是ping包的时候收到多个重复值回应&#xff0c;通常发生在linux环境下比较多&#xff0c;windows环境对ping的reply只接到第一个&#xff0c;后续的重复回应会被废弃。 发生这种情况通常是主宿机的IP冲突&#xff0c;或者…

c语言 字符串dup,C语言中dup和dup2函数的不同和使用

在unix高级编程中有介绍dup和dup2&#xff0c;但是没有实例说明&#xff0c; 笔者自己结合实例进行了测试了解。 在linux下&#xff0c;通过open打开以文件后&#xff0c;会返回一个文件描述符&#xff0c;文件描述符会指向一个文件表&#xff0c;文件表中的节点指针会指向节点…

汇编语言之 DUP 套 DUP

题目&#xff1a;下列变量各占多少字节。 A1 DW 23H, 5876H A2 DB 3 DUP(?), 0AH, 0DH, $ A3 DW 4 DUP(3 DUP(1, 2, AB)) 为了更直观地进行观察&#xff0c;我们编写如下程序。 DSEG SEGMENTA1 DW 23H, 5876HA2 DB 3 DUP(?), 0AH, 0DH, $A3 DW 4 DUP(3 DUP(1, 2, AB)) DSE…

函数dup和dup2

这两个函数包含在#include<unistd.h>之中。他们都是用来复制一个现有的文件描述符。 函数原型 函数功能&#xff1a;若成功返回新的文件描述符&#xff0c;否则返回-1&#xff0c;并且dup返回的文件描述符一定是当前可用文件描述符中最小的。 dup2可以用newfd指定新描述…

dup2使用

头文件&#xff1a; 参数&#xff1a; dup2是帮助我们进行重定向的系统调用接口 使用方法&#xff1a;把fd_arrays[oldfd]拷贝到fd_arrays[newfd]&#xff0c;实现重定向 原理&#xff1a; 要会使用dup2&#xff0c;要先了解文件描述符fd 文件描述符 下面这段代码就是不调用…

重定向dup和dup2

dup和dup2 返回值是int的文件描述符&#xff0c;参数是已有的文件描述符 此时打印的文件描述符为4&#xff0c;使用这个文件描述符可以访问打开的文件&#xff0c;可以通过这个往新的文件描述符写&#xff0c;主只需把打开方式改成可读可写即可。 dup2&#xff1a; 注意两个指针…

dup dup2 fcntl函数

dup函数 dup函数&#xff1a;用来复制文件描述符 函数原型&#xff1a; int dup(int oldfd);//oldfd为要复制的文件描述符 成功返回最小且没被占用的文件描述符,失败返回-1 dup函数复制的文件描述符与原文件描述符指向同一个文件 //测试dup函数复制文件描述符 #include <std…

【Linux】dup、dup2函数

目录 dup函数dup2函数 橙色 dup函数 int dup(int oldfd); //复制文件描述符 /*#include <unistd.h>int dup(int oldfd);作用&#xff1a;复制一个新的文件描述符fd3, int fd1 dup(fd),fd指向的是a.txt, fd1也是指向a.txt从空闲的文件描述符表中找一个最小的&#xff…