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

专门做优惠券的网站整合营销策划名词解释

专门做优惠券的网站,整合营销策划名词解释,网站聊天代码,百度链接地址通过 Validated 和 Valid可以对请求的进行参数校验。 1.核心对比: 特性Valid (JSR-303)Validated (Spring)来源Java标准规范Spring框架扩展分组校验不支持支持(通过groups属性)嵌套路径自动处理级联校验需配合Valid生效应用范围方法参数、属…

通过 @Validated 和 @Valid可以对请求的进行参数校验。

1.核心对比:

特性@Valid (JSR-303)@Validated (Spring)
来源Java标准规范Spring框架扩展
分组校验不支持支持(通过groups属性)
嵌套路径自动处理级联校验需配合@Valid生效
应用范围方法参数、属性、返回值类、方法、参数
List校验需放在集合声明处需配合@Valid生效

2.基础使用示例

 2.1 单对象校验

public class UserDTO {@NotBlank(message = "用户名不能为空")private String username;@Email(message = "邮箱格式错误")private String email;
}// 使用@Valid
@PostMapping("/users")
public Result createUser(@RequestBody @Valid UserDTO user) {// ...
}// 使用@Validated
@RestController
@Validated // 类级别启用校验
public class UserController {@PostMapping("/users")public Result createUser(@RequestBody @Validated UserDTO user) {// ...}
}

3. 级联属性校验

3.1 嵌套对象校验
public class OrderDTO {@NotNullprivate Long orderId;@Valid // 关键注解,启用嵌套校验private UserDTO user;
}// 测试
@PostMapping("/orders")
public Result createOrder(@RequestBody @Valid OrderDTO order) {// 会自动校验order.user里的约束
}
3.2 集合元素校验
public class BatchRequest {@Size(min = 1, max = 10)private List<@Valid UserDTO> users; // 校验每个元素
}@PostMapping("/batch")
public Result batchCreate(@RequestBody @Valid BatchRequest request) {// 会校验list内每个UserDTO
}

4. 分组校验(仅@Validated支持)

4.1 定义校验分组
public interface CreateCheck {}
public interface UpdateCheck {}public class ProductDTO {@Null(groups = CreateCheck.class) // 创建时ID必须为空@NotNull(groups = UpdateCheck.class) // 更新时ID不能为空private Long id;@NotBlank(groups = {CreateCheck.class, UpdateCheck.class})private String name;
}
4.2 使用分组
@PostMapping("/products")
public Result create(@RequestBody @Validated(CreateCheck.class) ProductDTO product) {// 仅触发CreateCheck组的校验
}@PutMapping("/products/{id}")
public Result update(@PathVariable Long id, @RequestBody @Validated(UpdateCheck.class) ProductDTO product) {// 仅触发UpdateCheck组的校验
}

5.统一异常处理

@RestControllerAdvice
public class GlobalExceptionHandler {// 处理@Validated和@Valid抛出的异常@ExceptionHandler(MethodArgumentNotValidException.class)public Result handleValidException(MethodArgumentNotValidException e) {List<String> errors = e.getBindingResult().getFieldErrors().stream().map(error -> error.getField() + ": " + error.getDefaultMessage()).collect(Collectors.toList());return Result.fail(400, "参数错误", errors);}
}

6.最佳实现

6.1 混合使用
类/方法级用 @Validated参数/属性级用 @Valid
6.2 性能优化
// 避免在循环中校验
@Validated
@Service
public class UserService {public void batchProcess(@Valid List<UserDTO> users) {// 批量处理}
}
6.3 自定义校验
@Target({FIELD})
@Retention(RUNTIME)
@Constraint(validatedBy = PhoneValidator.class)
public @interface Phone {String message() default "手机号格式错误";Class<?>[] groups() default {};Class<? extends Payload>[] payload() default {};
}
6.4 复杂场景
// 级联校验+集合校验
public class DepartmentDTO {@Validprivate List<@Valid EmployeeDTO> employees;@Validprivate AddressDTO location;
}

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

相关文章:

  • 群晖ds1817做网站西安做网站公司
  • iis7 网站打不开东莞疫情最新消息今天中高风险区
  • 手机 网站 翻页 外部站长工具ip地址查询域名
  • 网站建设方式网络推广专员所需知识
  • 苏州网站制作及推广国内比较好的软文网站
  • 响应式和非响应式网站南昌seo排名优化
  • 淘宝站外网站可以做吗网站推广模式
  • 陕西省住房与城乡建设部网站媒体:北京不再公布疫情数据
  • 织梦网站换空间深圳企业网站制作公司
  • 空间设计手法有哪些账号seo是什么
  • 做商城网站费用做百度推广代运营有用吗
  • 做片视频在线观看网站悟空建站seo服务
  • 深圳网站建设外贸公司价格软文网
  • 好听的网站名称国外域名注册平台
  • 福州网站建设方案现在有什么技能培训班
  • 连云港网站制作公司哪家好自媒体发布平台有哪些
  • 佛山网站建设与设计nba交易最新消息
  • dz网站建设视频教程营销网站的建造步骤
  • 专业网站建设模板棋牌软件制作开发多少钱
  • 网站建设凡科百度网站快速排名公司
  • 教你做网站网站友情链接连接
  • wordpress网站地图提交搜索引擎优化的名词解释
  • 做视频的背景音乐哪里下载网站在线搭建网站
  • 静态网页和动态网页的区别和联系seo服务价格表
  • 相亲网站上做绿叶的女人很多营销策划公司名称
  • 南浔建设局网站做网站多少钱一年
  • 香港做一楼一凤的网站合法吗推广怎么做
  • 电商会学着做网站呢百度搜索引擎优化指南最新版
  • 郑州网站建设制作搜索引擎优化介绍
  • 给几个网站谢谢关键词推广优化外包