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

淘宝做网站为什么那么便宜前端网站效果有哪些

淘宝做网站为什么那么便宜,前端网站效果有哪些,做网站至少多少钱,建e网全景图合成教程文章目录 一、Spring Boot 接口参数校验二、分组校验1. 定义分组接口:创建接口定义不同校验分组。例如:2. 在注解中指定分组:在 NotNull、NotEmpty 等校验注解中,使用 groups 属性指定所属分组。3. 在 Controller 层应用分组校验&…

文章目录

  • 一、Spring Boot 接口参数校验
  • 二、分组校验
      • 1. 定义分组接口:创建接口定义不同校验分组。例如:
      • 2. 在注解中指定分组:在 `@NotNull`、`@NotEmpty` 等校验注解中,使用 `groups` 属性指定所属分组。
      • 3. 在 `Controller` 层应用分组校验:在 `Controller` 方法中使用 `@Validated` 注解,并指定需要应用的校验分组。
  • 三、分组校验优化

一、Spring Boot 接口参数校验

Spring Boot 提供了强大的参数校验机制,能够有效拦截无效数据,提升系统健壮性。本文将介绍如何结合 @NotNull@NotEmpty@Validated(或更标准的 @Valid)注解,在 Spring Boot 中实现优雅的接口参数校验。
核心思想:
在实体类中,使用 @NotNull 标注不可为 null 的字段,@NotEmpty 标注不可为空字符串的字段。在 Controller 层方法参数上添加 @Validated(或 @Valid)注解,Spring Boot 会在方法调用前自动执行参数校验。若校验失败,将抛出 MethodArgumentNotValidException 异常,可通过全局异常处理机制统一处理,向客户端返回友好的错误信息。
示例代码:

public class User {@NotNullprivate Integer id;@NotEmptyprivate String username;@NotEmptyprivate String password;
}

注意事项

@Validated vs @Valid@Validated 是 Spring 提供的注解
全局异常处理: 建议实现全局异常处理机制,统一处理 MethodArgumentNotValidException异常,并向客户端返回校验错误信息
多请求共用实体类: 使用同一实体类处理多个请求时可能产生冲突。如需更复杂的参数校验逻辑,需使用参数校验分组

二、分组校验

Spring Boot 基于 JSR-303 Bean Validation 规范,通过分组校验机制,可优雅处理同一实体类在不同请求中的差异化校验需求。这避免了为每个请求场景创建不同实体类,提高了代码的可重用性和可维护性。
核心思想:
分组校验允许为同一实体类的不同字段指定差异化校验规则。通过在注解中指定分组,Spring Boot 仅对指定分组内的字段进行校验。这样,即使同一实体类被多个请求使用,也可根据具体场景选择不同的校验规则,避免冲突。
使用方法:
Spring Boot 的 Bean Validation 提供了分组校验功能,通过在 @NotNull@NotEmpty 等校验注解中使用 groups 属性,可控制不同校验规则在不同场景下的应用。这使得同一实体类可在不同请求或业务逻辑中,根据需要进行差异化字段校验,避免冗余代码和校验冲突。
使用步骤:

1. 定义分组接口:创建接口定义不同校验分组。例如:

public interface CreateGroup {}
public interface UpdateGroup {}

2. 在注解中指定分组:在 @NotNull@NotEmpty 等校验注解中,使用 groups 属性指定所属分组。

public class User {@NotNull(groups = CreateGroup.class)private Integer id;@NotEmpty(groups = {CreateGroup.class, UpdateGroup.class})private String username;@NotEmpty(groups = {CreateGroup.class, UpdateGroup.class})private String password;
}

在此示例中,usernamepassword 字段在 CreateGroupUpdateGroup 分组中进行非空校验,id 字段仅在 UpdateGroup 分组中进行邮箱格式校验。

3. 在 Controller 层应用分组校验:在 Controller 方法中使用 @Validated 注解,并指定需要应用的校验分组。


@PostMapping("/user")
public ResponseEntity createUser(@Validated({CreateGroup.class, UpdateGroup.class}) @RequestBody User user) {// ...
}@PutMapping("/user/{id}")
public ResponseEntity updateUser(@Validated({UpdateGroup.class}) @RequestBody User user) {// ...
}

@Validated({CreateGroup.class}) 表示仅对 CreateGroup 分组中的校验规则进行校验。
优势:

代码复用: 同一实体类可被多个请求方法复用,无需为不同校验规则创建多个实体类
可维护性: 校验规则清晰,易于维护和修改
灵活性: 可根据不同业务场景灵活组合校验规则

总结:
通过 groups 属性,可精细控制 Bean Validation 的校验行为,实现更灵活、更强大的数据校验功能,提升代码可读性和可维护性。合理利用分组校验,可有效避免校验冲突,增强系统健壮性。

三、分组校验优化

在 Spring Boot 的 Bean Validation 中,可通过继承Default分组创建新分组,实现更细粒度的校验控制。这在处理新增和更新等不同操作时尤为有用,因为这些操作对数据的校验要求可能不同。
通过继承Default,新分组将包含Default分组中定义的所有校验规则,并可在此基础上添加新规则或覆盖原有规则。这避免了重复定义通用校验规则,提高了代码的可重用性和可维护性。
示例:
假设有AddUpdate两个接口,分别继承自 Default 分组:


public interface Add extends Default {}
public interface Update extends Default {}

User 实体类:


public class User {@NotNull(groups = CreateGroup.class)private Integer id;@NotEmptyprivate String username;@NotEmptyprivate String password;
}

优势

代码复用: Add 和 Update 分组继承 Default 分组,避免重复定义通用校验规则
可维护性: 校验规则清晰,易于维护和修改
灵活性: 可根据不同操作类型灵活定义校验规则

总结
通过继承 Default 分组创建新分组,并结合 @Validated 注解,可有效管理和复用校验规则,构建更健壮、更易维护的 Spring Boot 应用。此方法特别适用于处理新增和更新等具有不同校验需求的操作。需注意,仅在需要添加或修改特定校验规则时才创建新分组,避免过度使用分组导致代码复杂化。

注意:
如有错误请告知
如有侵权请带着截图发邮件
邮箱 1413229255@qq.com

http://www.dtcms.com/wzjs/834933.html

相关文章:

  • 深圳专业制作网站的公司哪家好WordPress潮流媒体主题
  • 德州网站制作哪家好网站建设需要参考哪些文献
  • 建行深圳网站做彩票网站程序违法吗
  • 建设网站工作室东莞做棋牌网站建设
  • 广州网站设计公司兴田德润活动东乡网站建设
  • 怎么建设两个大淘客网站网站建设分金手指专业十二
  • 东莞南城网站建设村建站全称
  • 大理做网站哪家好网站开发提成
  • 广西建工集团官网杨和关键词优化
  • 网站建设 类资阳网站开发
  • 人才网站建设的目标百度装修网站
  • 南昌做网站ui登录界面设计
  • 建设工程合同的概念海南seo外包
  • 小皮搭建本地网站哪里做公司网站
  • 做外汇需要关注哪几个网站自己做众筹网站
  • 网站团购活动页面怎么做龙口网站制作价格
  • 我做的网站怎么提升排名校园招生网站建设的简报
  • 做韩国网站有哪些wordpress描述怎么写
  • 扬州建设机械网站网站建设宣传资料
  • 首钢水钢赛德建设有限公司网站论坛网站建设费用
  • 免费如何创建网站平台wordpress建小说网站
  • 嘉兴优化网站公司东莞集团网站建设
  • 宜宾建功路桥建设有限公司网站响应式网站做多大的尺寸
  • 宿州建设网站公司哪家好在线设计平台 类似pixao
  • 网站站外推广的内外链接怎么做宣传页面怎么制作
  • 用 可以做网站软件吗搭建网站多少钱
  • 郑州高端网站建设是什么意思新公司网站建设费用怎么入账
  • 锦州网站建设怎样保定网站推广公司
  • 网站图片的作用seo竞价网站建设
  • 网站建设规划书实训报告用dw做的网站怎样弄上网上