园林公司做网站的好处,wordpress 数据库脚本,发布信息的平台有哪些,石家庄网络推广公司有哪些1、Validated和Valid区别 
Validated#xff1a;可以用在类、方法和方法参数上。但是不能用在成员属性#xff08;字段#xff09;上Valid#xff1a;可以用在方法、构造函数、方法参数和成员属性#xff08;字段#xff09;上 2、引入依赖 
Spring Boot 2.3 1 之前…1、Validated和Valid区别 
Validated可以用在类、方法和方法参数上。但是不能用在成员属性字段上Valid可以用在方法、构造函数、方法参数和成员属性字段上 2、引入依赖 
Spring Boot 2.3 1 之前只需要引用spring-boot-starter-web 
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId
/dependency 
Spring Boot 2.3 1 之后spring-boot-starter-validation 已经不包括在了 spring-boot-starter-web 中需要我们手动加上。 
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactId
/dependency 3、示例代码 
测试实体类 
package com.test.entity;import javax.validation.constraints.NotBlank;import lombok.Data;/*** 测试实体类*/
Data
public class Test {/*** 账号*/NotBlank(message  登陆账号不能为空)private String username;/*** 密码*/NotBlank(message  密码不能为空)private String password;}Controller 
package com.test.controller;import javax.validation.Valid;
import javax.validation.constraints.NotNull;import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;import com.test.entity.Test;/**  * 测试参数校验*/
RestController
RequestMapping(/test)
Validated
public class TestController {RequestMapping(value  getId, method  RequestMethod.GET)public String getId(NotNull Integer id) {return id: id;}RequestMapping(value  save, method  RequestMethod.POST)public String save(Valid Test test) {System.out.println(test.getUsername());return success;}
} 4、验证结果 
getId方法 save方法  大家会看到现在的错误提示非常不友好 我们可以自定义异常返回错误消息 
参考文章SpringBoot注解校验validation自定义异常返回错误消息给前端_自定义校验注解前台如何弹窗提示-CSDN博客 
NotBlank注解String字段会报错_notblank报错-CSDN博客  4、Validated和Valid使用情况测试 1.Validated和Valid同时使用--结果验证成功 /**  * 1.Validated和Valid同时使用--结果验证成功*/
RestController
RequestMapping(/test)
Validated
public class TestController {RequestMapping(value  getId, method  RequestMethod.GET)public String getId(NotNull Integer id) {return id: id;}RequestMapping(value  save, method  RequestMethod.POST)public String save(Valid Test test) {System.out.println(test.getUsername());return success;}
} 2.Validated单独使用--结果getId方法的参数id校验成功save方法实体校验失效 /**  * 2.Validated单独使用--结果getId方法的参数id校验成功save方法实体校验失效*/
RestController
RequestMapping(/test)
Validated
public class TestController {RequestMapping(value  getId, method  RequestMethod.GET)public String getId(NotNull Integer id) {return id: id;}RequestMapping(value  save, method  RequestMethod.POST)public String save(Test test) {System.out.println(test.getUsername());return success;}
} 3.Valid单独使用--结果getId方法的参数id校验失效save方法实体校验成功 /**  *  3.Valid单独使用--结果getId方法的参数id校验失效save方法实体校验成功*/
RestController
RequestMapping(/test)
public class TestController {RequestMapping(value  getId, method  RequestMethod.GET)public String getId(NotNull Integer id) {return id: id;}RequestMapping(value  save, method  RequestMethod.POST)public String save(Valid Test test) {System.out.println(test.getUsername());return success;}
} 4.参数id也加上Valid--结果getId方法的参数id校验失效save方法实体校验成功 /**  *  4.参数id也加上Valid--结果getId方法的参数id校验失效save方法实体校验成功*/
RestController
RequestMapping(/test)
public class TestController {RequestMapping(value  getId, method  RequestMethod.GET)Validatedpublic String getId(Valid NotNull Integer id) {return id: id;}RequestMapping(value  save, method  RequestMethod.POST)public String save(Valid Test test) {System.out.println(test.getUsername());return success;}
} 5、总结 
实体类参数参数上必须加上Valid类上Validated可加可不加非实体的参数类上必须加上Validated 
推荐都加上如果类上 Validated不加万一后期改造添加新参数可能会忘记注解Validated