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

1688黄页网免费网站商城网站合作协议

1688黄页网免费网站,商城网站合作协议,广告设计与制作可以自学吗,关于设计网站当请求参数很多#xff0c;几乎每一个参数都需要后端去兜底校验时#xff0c;你还在写if else去判断参数是否为空吗#xff1f;#xff1f;要校验为空的参数三四个还好#xff0c;要是十几个#xff0c;业务逻辑还没开始就写二三十行代码开始堆山了嘛#xff0c;教给大家… 当请求参数很多几乎每一个参数都需要后端去兜底校验时你还在写if else去判断参数是否为空吗要校验为空的参数三四个还好要是十几个业务逻辑还没开始就写二三十行代码开始堆山了嘛教给大家一个简单实用的方法让大家不再在屎堆上堆代码。 注解篇 先来了解几个常用的注解 注解含义怎样使用NotBlank字符串不为null且非空格长度至少为1注解在String类型的参数上Null必须为null用于Long、Integer、BigDecimal基本数据类型上NotNull必须不为null用于Long、Integer、BigDecimal基本数据类型上NotEmpty集合不为null且长度0用于集合校验AssertTrue为true用于Boolean类型上AssertFalse为false用于Boolean类型上Max小于或等于某个数一个字段的最大值为xxMin大于或等于某个数一个字段的最小值为xxDigits(integer3, fraction2)整数和小数长度—Pattern正则匹配手机号规则校验等Rangeminmax数值类型范围—Length字符串长度范围---- 实战篇 请求参数 BizRequestDTO import lombok.Data; import org.hibernate.validator.constraints.NotBlank;import javax.validation.Valid; import java.util.Date; import java.util.List;Data public class BizRequestDTO {/*** 单据编号*/NotBlank(message headId (单据编号)不能为空)private String headId;/*** 金额*/NotNull(message amount (金额)不能为空)private BigDecimal amount;/*** 提单人*/Validprivate EmpInfoDTO submitter;/*** 分摊人列表*/Validprivate ListEmpInfoDTO expenseSharerList; }注解释义 Valid 作用于对象,作用于集合 对象内校验方式: Validprivate EmpInfoDTO submitter;EmpInfoDTO /*** 工号*/NotBlank(message 工号不能为空)private String workNo;/*** 姓名*/NotBlank(message 姓名不能为空)private String nickName;在代码中如何写 引入依赖 dependencygroupIdorg.hibernate/groupIdartifactIdhibernate-validator/artifactIdversion6.0.16.Final/version/dependencydependencygroupIdjavax.validation/groupIdartifactIdvalidation-api/artifactIdversion2.0.1.Final/version/dependency引入一个工具类 import org.hibernate.validator.HibernateValidator;import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import java.util.Set;public class ValidatorUtils {private static final Validator DEFAULT_VALIDATOR;static {DEFAULT_VALIDATOR Validation.byProvider(HibernateValidator.class).configure().buildValidatorFactory().getValidator();}public static T SetConstraintViolationT validate(T bean) {return DEFAULT_VALIDATOR.validate(bean);} }实际应用 public ResponseResultString checkExpenseParams(RequestParamDTO requestDTO) {SetConstraintViolationTaeExpenseLineCheckRequestDTO result ValidatorUtils.validate(requestDTO);// 错误信息输出StringBuilder resultInfo new StringBuilder();result.forEach(validateResult - resultInfo.append(validateResult.getMessage()).append(\n));if (StringUtils.isNotBlank(resultInfo)) {return ResponseResult.error(resultInfo.toString());}// 若为空则参数校验通过return ResponseResult.ok(null);}输出示例 headId (单据编号)不能为空 amount (金额)不能为空 校验模式配置 Hibernate可以对校验模式的配置支持快速失败即在校验的过程中只要有一项不同过剩余的参数就不再进行校验。默认使用的是全部校验完成后再返回也就是在上面的例子中展示的那样。开启快速失败的具体的实现方式 Validation.byProvider(HibernateValidator.class).configure().failFast(true).buildValidatorFactory().getValidator();校验工具类 import org.hibernate.validator.HibernateValidator;import javax.validation.ConstraintViolation; import javax.validation.Validator; import javax.validation.Validation; import java.util.Set;public class ValidatorUtils {private static final Validator DEFAULT_VALIDATOR;private static final Validator FAST_VALIDATOR;static {DEFAULT_VALIDATOR Validation.byProvider(HibernateValidator.class).configure().buildValidatorFactory().getValidator();FAST_VALIDATOR Validation.byProvider(HibernateValidator.class).configure().failFast(true).buildValidatorFactory().getValidator();}public static T SetConstraintViolationT validate(T bean) {return DEFAULT_VALIDATOR.validate(bean);}public static T SetConstraintViolationT fastValidate(T bean) {return FAST_VALIDATOR.validate(bean);} }快速校验使用方式同上输出示例 headId (单据编号)不能为空 对象级联校验 包含级联对象的类 对象级联校验意味着在一个对象中的属性可以包含另外一个校验对象被级联的对象需要用Valid注解修饰。上面也有给出本节再详细讲解一下。 例 import lombok.Data; import org.hibernate.validator.constraints.NotBlank; import org.hibernate.validator.constraints.Range;import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern;Data public class ValidatorWithDefineExtraModel {NotBlank(message姓名不能为空)private String name;NotNull(message 年龄不能为空)Range(min1, max200, message 年龄必须大于1小于200)private Integer age;NotBlank(message性别不能为空)Pattern(regexp ([FM]), message 性别只能为F(女或者M(男)private String sex;NotNull(message validatorModelExtra不能为空)Validprivate ValidatorModelExtra validatorModelExtra; }被级联的对象 Data public class ValidatorModelExtra {NotNull(message 地址不能为空)Length(max 100, message 地址长度不能大于100个字符)private String address; }输出示例 地址不能为空
http://www.w-s-a.com/news/7199/

相关文章:

  • 万州那家做网站c语言基础知识入门
  • 齐河网站建设公司价格网站建设包括什么
  • 论坛网站开发费用怎么把文件放到网站的根目录
  • 海南省零售户电商网站官渡区住房和城乡建设局网站
  • 怎么找淘宝客网站最新军事战况
  • 缺乏门户网站建设网页设计与制作项目教程第二版
  • 手机网站横竖屏一般做建设的是什么公司
  • 免费网站建设无广告网站开发 华景新城
  • 湖州网站制作报价西安网站开发有哪些公司
  • google 浏览器开源seo软件
  • 网站空间是什么意思自己怎样建设网站
  • 国外家装设计网站如何做软件开发
  • 凡科建站登录官网当当网网站建设策划书
  • 网站百度屏蔽关键词杭州排名优化公司
  • h5响应式网站模板下载wordpress鼠标指针
  • 摄影作品投稿网站目前最好的引流推广方法
  • 资源站源码永久dede网站搬家 空间转移的方法
  • 网站建设销售的技巧话语it培训机构
  • 自建本地网站服务器wordpress南充房产网最新楼盘最近房价
  • 郑州代做网站天津哪里能做网站
  • 网站如何做排名网站建设项目的工作分解
  • 洛阳网络建站公司网站开发主流语言
  • 广州各区正在进一步优化以下措施seo值是什么意思
  • 滨州建网站公司京东云 wordpress
  • 网站视频背景怎么做免费的网络推广有哪些
  • 申请网站怎样申请广西壮族自治区专升本业务系统
  • 写作网站哪个网站做ic外单好
  • 苏州和城乡建设局网站撸撸撸做最好的导航网站
  • 网站被同行抄袭怎么办深圳中装建设集团
  • 建站及推广瓦房店 网站建设