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

安徽网站关键词优化排名汕头新闻头条最新消息

安徽网站关键词优化排名,汕头新闻头条最新消息,国产免费linux服务器,国际商业网站Spring Boot中Valid 与 Validated 注解的详解 引言Valid注解功能介绍使用场景代码样例 Validated注解功能介绍使用场景代码样例 Valid与Validated的区别结论 引言 在Spring Boot应用中#xff0c;参数校验是确保数据完整性和一致性的重要手段。Valid和Validated注解是Spring … Spring Boot中Valid 与 Validated 注解的详解 引言Valid注解功能介绍使用场景代码样例 Validated注解功能介绍使用场景代码样例 Valid与Validated的区别结论 引言 在Spring Boot应用中参数校验是确保数据完整性和一致性的重要手段。Valid和Validated注解是Spring Boot中用于参数校验的两个核心注解。本文将详细介绍这两个注解的用法、区别以及代码样例。 Valid注解 功能介绍 Valid是Java EE提供的标准注解它是JSR 303规范的一部分主要用于Hibernate Validation等场景。在Spring Boot中Valid注解用于触发参数校验确保请求参数的合法性。 使用场景 Valid注解可以用于方法参数、构造函数、方法参数和成员属性上。它主要用于嵌套校验即对于对象中的属性值可能是另一个对象进行校验。 代码样例 import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.Valid;public class User {NotBlank(message 用户名不能为空)private String username;NotNull(message 密码不能为空)private String password;Validprivate Address address;// Getter 和 Setter }public class Address {NotBlank(message 国家不能为空)private String country;NotBlank(message 城市不能为空)private String city;// Getter 和 Setter }import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController;RestController public class UserController {PostMapping(/addUser)public String addUser(Valid RequestBody User user, BindingResult bindingResult) {if (bindingResult.hasErrors()) {return 参数校验失败: bindingResult.getAllErrors().get(0).getDefaultMessage();}return 用户添加成功;} }在上述代码中User类中的address属性使用了Valid注解表示对address对象进行嵌套校验。在UserController中addUser方法使用了Valid注解对传入的User对象进行校验并使用BindingResult捕获校验错误。 Validated注解 功能介绍 Validated是Spring框架特有的注解属于Spring的一部分也是JSR 303的一个变种。它提供了一些Valid所没有的额外功能比如分组验证。Validated注解可以用在类、方法和方法参数上但不能用于成员属性。 使用场景 Validated注解主要用于支持分组验证可以更细致地控制验证过程。此外由于它是Spring专有的因此可以更好地与Spring的其他功能如Spring的依赖注入集成。 代码样例 import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.groups.Default;public interface ValidationGroups {interface Insert extends Default {}interface Update {} }public class Project {NotBlank(message ID不能为空, groups ValidationGroups.Update.class)private String id;NotBlankprivate String name;Min(value 1, message 预算不能小于1, groups ValidationGroups.Insert.class)private int budget;// Getter 和 Setter }import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.validation.annotation.Validated;RestController public class ProjectController {PostMapping(/insertProject)public String insertProject(Validated(value ValidationGroups.Insert.class) RequestBody Project project, BindingResult bindingResult) {if (bindingResult.hasErrors()) {return 参数校验失败: bindingResult.getAllErrors().get(0).getDefaultMessage();}return 项目插入成功;}PostMapping(/updateProject)public String updateProject(Validated(value ValidationGroups.Update.class) RequestBody Project project, BindingResult bindingResult) {if (bindingResult.hasErrors()) {return 参数校验失败: bindingResult.getAllErrors().get(0).getDefaultMessage();}return 项目更新成功;} }在上述代码中我们定义了一个ValidationGroups接口用于分组验证。Project类中的id属性在Update分组下必填而budget属性在Insert分组下必填且不能小于1。在ProjectController中insertProject方法使用Validated(value ValidationGroups.Insert.class)注解对传入的Project对象进行Insert分组的校验而updateProject方法则使用Validated(value ValidationGroups.Update.class)注解进行Update分组的校验。 Valid与Validated的区别 嵌套校验Valid支持嵌套校验而Validated不支持。在需要嵌套校验的场景下应使用Valid。分组校验Validated支持分组校验而Valid不支持。在需要根据不同场景应用不同校验规则的情况下应使用Validated。使用范围Valid可以用在方法、构造函数、方法参数和成员属性上而Validated只能用在类、方法和方法参数上。 结论 Valid和Validated注解在Spring Boot的参数校验中扮演着重要角色。掌握这两个注解的用法和区别可以帮助开发者更灵活地进行参数校验确保数据的完整性和一致性。
http://www.zqtcl.cn/news/245766/

相关文章:

  • 泰和网站制作长尾词排名优化软件
  • 国外做的好的鲜花网站万网二手已备案域名
  • 那个网站做的系统最好开奖视频网站开发
  • 学设计的网站推荐南京做网站南京乐识专业
  • 企业网站建设调查问卷重庆网站制作外包
  • 要建设一个网站需要什么北京优化网站公司
  • 多语言网站建设方案大同建设网站
  • 测网站打开的速度的网址wordpress 逻辑代码
  • 网站代码开发徐州网站建设青州陈酿
  • 建网站的软件有哪些做网站怎么挣钱赚钱
  • 徐州市建设局招投标网站谷歌网站的主要内容
  • 门户网站建设工作情况汇报花店网站建设课程设计论文
  • 长春绿园网站建设哪里制作企业网站
  • 建设网站计划ppt模板核酸二维码
  • 宁波网络推广制作seo关键词推广公司
  • 东莞市网站推广西安推广公司无网不胜
  • 全国网站建设有实力建筑人才网123
  • 海安网站设计公司网站开发好学嘛
  • 网站建设深圳公司上海贸易公司注册条件
  • 深圳市坪山新区建设局网站给别人做网站去掉版权
  • 怎么做监测网站的浏览量有没有专业做股指的评论网站
  • 济南微信网站开发网上效果代码网站可以下载吗
  • 门户网站的设计常见的管理信息系统有哪些
  • 网站添加悬浮二维码成都游戏网站开发
  • 用jquery做网站百度seo排名规则
  • 免备案手机网站室内设计说明
  • 网站被做站公司贩卖怎样将qq空间建设为个人网站
  • 网站开发有哪几类淮安app开发公司
  • 营销网站建设公司哪家好兵团第二师建设环保局网站
  • 做推广最好的网站是哪个深圳办公室装修招标