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

做围棋题最好的网站原创软文

做围棋题最好的网站,原创软文,东莞h5网站开发,网站模板背景 入参校验一般是在控制层通过javax.validation.constraints包下的规则注解如NotNull结合Valid与Validated实现,但是有时候我们的方法不提供给controller调用,这时候就无法触发自动参数校验,为此我们可以在不更改校验代码的前提下手动触发…

背景

入参校验一般是在控制层通过javax.validation.constraints包下的规则注解如NotNull结合Valid与Validated实现,但是有时候我们的方法不提供给controller调用,这时候就无法触发自动参数校验,为此我们可以在不更改校验代码的前提下手动触发spring的参数校验。

代码实现

  • 触发工具类
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.ValidationException;
import javax.validation.Validator;
import java.util.List;
import java.util.Set;/*** @description validator参数校验类*/
public class ValidateUtil {private static final Validator VALIDATOR = Validation.buildDefaultValidatorFactory().getValidator();/*** 校验实体类* @param t  参数* @param notNull t是否可以为空*/public static <T> void validate(T t, boolean notNull) {if (t == null) {if (notNull) {throw new ValidationException("参数不能为空");}return;}Set<ConstraintViolation<T>> constraintViolations = VALIDATOR.validate(t);if (constraintViolations.size() < 1) {return;}for (ConstraintViolation<T> constraintViolation : constraintViolations) {throw new ValidationException(constraintViolation.getMessage());}}public static <T> void validate(T t) {validate(t, false);}public static <T> void validate(List<T> list) {validate(list, false);}/*** @description: 参数校验* @date 11:59 2024/6/7* @param list* @param notNull list是否可以为空**/public static <T> void validate(List<T> list, boolean notNull) {if (list == null || list.isEmpty()) {if (notNull) {throw new ValidationException("参数不能为空");}return;}list.forEach(item -> {Set<ConstraintViolation<T>> constraintViolations = VALIDATOR.validate(item);if (constraintViolations.size() < 1) {return;}for (ConstraintViolation<T> constraintViolation : constraintViolations) {throw new ValidationException(constraintViolation.getMessage());}});}/*** 通过组来校验实体类* @param t 参数* @param notNull t是否可以为空* @param groups 校验组*/public static <T> void validate(T t, boolean notNull, Class<?>... groups) {if (t == null) {if (notNull) {throw new ValidationException("参数不能为空");}return;}Set<ConstraintViolation<T>> constraintViolations = VALIDATOR.validate(t, groups);if (constraintViolations.size() < 1) {return;}for (ConstraintViolation<T> constraintViolation : constraintViolations) {throw new ValidationException(constraintViolation.getMessage());}}public static <T> void validate(T t, Class<?>... groups) {validate(t, false, groups);}
}
  • 使用
// 方法入参
public class RefundOrderParam {@ApiModelProperty(value = "总退款金额", required = true)@NotNull(message = "总退款金额不能为空", groups = {InsertGroup.class, UpdateGroup.class})private BigDecimal totalRefundMoney;@ApiModelProperty(value = "是否原路退", required = true)@NotNull(message = "是否原路退不能为空", groups = {InsertGroup.class, UpdateGroup.class})private Boolean originalRefund;
}
//触发校验
ValidateUtil.validate(request, UpdateGroup.class);
http://www.zhongyajixie.com/news/11714.html

相关文章:

  • frontpage制作网页的软件广州seo代理
  • 什么网站做外贸好推广seo网站
  • 山东省建设管理中心网站新东方英语线下培训学校
  • 网站图片上传却不显示不出来电商大数据查询平台免费
  • 个人网站logo生成在哪里找软件开发公司
  • 临沂做商城网站建设中国seo高手排行榜
  • 作品集的个人网站怎么做域名注册免费
  • 网站开发组织架构网络营销和电子商务区别
  • asp网站 会员注册怎么样引流加微信
  • 网站代码软件谷歌seo推广培训班
  • 网络营销包括几个部分成都网站seo
  • 广告平面设计网站深圳百度推广开户
  • 如何构建个人网站百度网盘pc端网页版
  • 手机网站建设的图片百度指数在线查询小程序
  • 建设信用卡网站换积分关键词搜索查询
  • 江干建设局网站老鬼seo
  • 学术网站怎么做在线培训系统
  • 惠州做网站小程序厉害的seo顾问
  • 网站建设在电访销售话术阿里云域名注册查询
  • 网站备案增加域名解析网络运营培训班
  • 自己做网站好还是凡科北京seo百度推广
  • 白种女人做爰网站竞价推广套户渠道商
  • 做出口网站关键词统计工具有哪些
  • windows怎么做网站郑州网站建设推广
  • 做外贸独立网站搜索引擎优化的各种方法
  • 深圳做营销网站制作最好的网站设计公司
  • 如何做供求网站官网设计公司
  • 网站关键词如何选取百度客户端在哪里打开
  • 萝岗手机网站建设全网
  • 专业网站设计哪家好现在如何进行网上推广