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

网站设计 cdc四川成都网站网页设计

网站设计 cdc,四川成都网站网页设计,做家教网站的资源是什么,广州建网站兴田德润可信文章目录 一、使用二、常用注解三、Valid or Validated #xff1f;四、分组校验1. 分组校验的基本概念2. 定义验证组3. 应用分组到模型4. 在控制器中使用分组5. 总结 一、使用 要使用这些注解#xff0c;首先确保在你的 Spring Boot 应用的 pom.xml 文件中添加了 spring-bo… 文章目录 一、使用二、常用注解三、Valid or Validated 四、分组校验1. 分组校验的基本概念2. 定义验证组3. 应用分组到模型4. 在控制器中使用分组5. 总结 一、使用 要使用这些注解首先确保在你的 Spring Boot 应用的 pom.xml 文件中添加了 spring-boot-starter-validation 依赖。然后你可以将这些注解应用于你的模型类字段上。在你的控制器方法中你可以使用 Valid 或 Validated 注解来触发验证例如 PostMapping(/users) public ResponseEntity? createUser(Valid RequestBody User user) {// 如果存在验证错误会抛出异常// 正常业务逻辑 }在这个例子中如果 User 对象的字段不满足注解定义的验证规则Spring 将抛出一个异常你可以通过全局异常处理或控制器层的异常处理来处理这些异常并向用户返回适当的响应。 二、常用注解 spring-boot-starter-validation 依赖包引入了 Java Bean Validation API通常基于 Hibernate Validator 实现提供了一系列注解来帮助你对 Java 对象进行验证。以下是一些常用的验证注解及其含义和使用方式 NotNull: 确保字段不是 null。 public class User {NotNull(message 用户名不能为空)private String username;// 其他字段和方法 }NotEmpty: 确保字段既不是 null 也不是空对于字符串意味着长度大于0对于集合意味着至少包含一个元素。 public class User {NotEmpty(message 密码不能为空)private String password;// 其他字段和方法 }NotBlank: 确保字符串字段不是 null 且至少包含一个非空白字符。 public class User {NotBlank(message 邮箱不能为空且不能只包含空格)private String email;// 其他字段和方法 }Size: 确保字段字符串、集合、数组符合指定的大小范围。 public class User {Size(min 2, max 30, message 用户名长度必须在2到30之间)private String username;// 其他字段和方法 }Min 和 Max: 对数值类型字段设置最小值和最大值。 public class User {Min(value 18, message 年龄必须大于等于18)Max(value 100, message 年龄必须小于等于100)private int age;// 其他字段和方法 }Email: 确保字段是有效的电子邮件地址。 public class User {Email(message 无效的邮箱格式)private String email;// 其他字段和方法 }Pattern: 确保字符串字段匹配正则表达式。 public class User {Pattern(regexp ^[a-zA-Z0-9]$, message 用户名只能包含字母和数字)private String username;// 其他字段和方法 }Positive 和 PositiveOrZero: 确保数值字段是正数或者正数和零。 public class Product {Positive(message 价格必须是正数)private BigDecimal price;// 其他字段和方法 }三、Valid or Validated Valid 和 Validated 注解都用于数据验证但它们在使用和功能上有一些差异 Valid: 来源于 JSR 303/JSR 380 Bean Validation API。可以用在方法参数上以触发对传递给该方法的对象的验证。这通常在 Spring MVC 中用于验证带有 RequestBody 或 ModelAttribute 注解的参数。不支持验证组的概念这意味着不能控制验证的顺序或验证特定的子集。 示例 PostMapping(/users) public ResponseEntity? createUser(Valid RequestBody User user) {// 业务逻辑 }Validated(推荐): 是 Spring 的特有注解不是 JSR 303/JSR 380 的一部分。支持验证组允许您更灵活地指定在特定情况下应用哪些验证约束。例如可以根据不同的操作如创建、更新定义不同的验证规则。可以用在类型级别在类上和方法参数上。在类型级别使用时它会触发该类中所有带有验证注解的方法的验证。 示例 PostMapping(/users) public ResponseEntity? createUser(Validated RequestBody User user) {// 业务逻辑 }在实际使用中如果你需要简单的验证功能Valid 是一个很好的选择。如果你需要更复杂的验证逻辑比如验证组那么 Validated 更适合。此外Validated 可以应用在类级别从而对一个类的多个方法进行验证这在使用 Spring 服务层时非常有用。 四、分组校验 分组校验Group Validation是一种在 Java Bean Validation 中用于在不同上下文中应用不同验证规则的方法。这对于那些在不同情况下例如创建 vs 更新需要不同验证规则的对象特别有用。 1. 分组校验的基本概念 在分组校验中你可以定义多个接口通常为空来表示不同的验证组。然后你可以在验证注解中指定这些接口以表明该注解仅在验证特定组时应用。 例如你可能有一个User类其中某些字段在创建用户时是必需的但在更新用户时可能是可选的。 2. 定义验证组 首先定义两个空接口作为验证组 public interface OnCreate {} public interface OnUpdate {}3. 应用分组到模型 然后在你的模型类中使用这些接口作为验证注解的参数 public class User {NotNull(groups OnCreate.class)private Long id;NotBlank(groups {OnCreate.class, OnUpdate.class})private String username;Email(groups {OnCreate.class, OnUpdate.class})private String email;// 其他字段和方法 }在这个例子中id 字段仅在创建用户时需要验证OnCreate组而 username 和 email 字段在创建和更新用户时都需要验证。 4. 在控制器中使用分组 最后在你的控制器方法中使用 Validated 注解指定要应用的验证组 PostMapping(/users) public ResponseEntity? createUser(Validated(OnCreate.class) RequestBody User user) {// 创建用户的业务逻辑 }PutMapping(/users) public ResponseEntity? updateUser(Validated(OnUpdate.class) RequestBody User user) {// 更新用户的业务逻辑 }在这个例子中createUser 方法只会验证属于 OnCreate 组的字段而 updateUser 方法则只会验证属于 OnUpdate 组的字段。这样你就可以根据不同的操作自定义验证逻辑了。 5. 总结 通过使用分组校验你可以为同一个对象的不同操作设置不同的验证规则这在复杂应用中非常有用。这种方法提高了代码的灵活性和可维护性。
http://www.zqtcl.cn/news/128670/

相关文章:

  • 建设外贸商城网站制作网站建设的中期目标
  • 网站定做地方门户网站带手机版
  • 佛山网站建设哪家评价高系统开发报价清单
  • 东莞道滘网站建设做h游戏视频网站
  • 江西营销网站建设公司网站建设 意义
  • 公司网站怎么自己做织梦品牌集团公司网站模板(精)
  • 西安市高陵区建设局网站产品网站做营销推广
  • 网站开发费是无形资产吗深圳网站建设简介
  • 网站开发架构mvc重庆巫山网站设计哪家专业
  • 广州高档网站建设电子商务网站建设的期中考试
  • 九江建设公司网站新网 网站空间
  • 网站开发时的闭包写法手机网站创建站点成功
  • 中山做网站联系电话可以做全景的网站
  • 南京网站开发推南京乐识网络站点推广的方法有哪些
  • 沧州企业网站深圳建筑招聘网
  • 汽车网站开发的需求分析怎样策划一个营销型网站
  • 网站建设公司彩铃网站模板是怎么制作
  • 代做毕设网站推荐一键安装微信
  • 网站建设评比标准人工智能的网站
  • 网站 提示建设中计算机网站建设和维护
  • 网站菜单分类怎么做wordpress黄页插件
  • 安防网站下载营销型网站建设 高校邦
  • 一个几个人做网站的几个故事电影网站开发设计的完成情况
  • 如何开个人网站网站建设技能考试试题三
  • 做网站都要学什么工程造价询价网站
  • 东莞市官网网站建设企业福田做商城网站建设哪家服务周到
  • 网站界面设计技巧宁波seo排名优化价格
  • 做外贸经常用的网站需要优化的网站有哪些
  • 俄语网站建设注意事项seo公司优化排名
  • jsp做的当当网站的文档专业电子科技网站建设