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

小企业一键做网站一个完整的产品运营方案

小企业一键做网站,一个完整的产品运营方案,房山网站建设服务,dz做美女网站spring boot项目对参数进行校验时,比如非空校验,可以直接用validation包里面自带的注解。但是对于一些复杂的参数校验,自带的校验规则无法满足要求,此时需要我们自定义参数校验规则。自定义校验规则和自带的规则实现方式一样&…

spring boot项目对参数进行校验时,比如非空校验,可以直接用validation包里面自带的注解。但是对于一些复杂的参数校验,自带的校验规则无法满足要求,此时需要我们自定义参数校验规则。自定义校验规则和自带的规则实现方式一样,先自定义一个注解,然后指定校验类,在校验类里实现具体的校验规则。

下面以校验手机号为例,来实现自定义参数校验规则。

首先定义一个注解,直接照着NotNull注解定义即可。

@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
//这里的class就是实现具体校验规则的类
@Constraint(validatedBy = {MobileNoValidator.class})
public @interface MobileNo {String message() default "请输入正确的手机号";Class<?>[] groups() default {};Class<? extends Payload>[] payload() default {};}

然后定义实现具体校验规则的类,这个类要实现ConstraintValidator接口。

public class MobileNoValidator implements ConstraintValidator<MobileNo, String> {@Overridepublic boolean isValid(String value, ConstraintValidatorContext context) {if ((value == null)) {return false;}String regex = "^1\\d{10}$";Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);Matcher m = p.matcher(value);return m.matches();}
}

这样,很简单的两个类,就实现了自定义参数校验规则。当参数中加了MobileNo注解,如果输入的手机号不满足1打头的11位数字的规则,就会抛出异常信息。下面写个controller简单测试一下。

先定义一个vo。

public class UserVo {@NotNullprivate Long id;@NotNull@MobileNoprivate String mobileNo;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getMobileNo() {return mobileNo;}public void setMobileNo(String mobileNo) {this.mobileNo = mobileNo;}
}

再定一个controller。

@RestController
public class UserController {@PostMapping(value = "/test")public String test(@Validated @RequestBody UserVo userVo) {return "success";}
}

启动项目,用postman测试一下。

首先输入符合要求的手机号,这时是能正常返回success。

然后输入一个不符合要求的手机号,会返回400错误码,错误信息如下。当然这里返回的错误信息比较不友好,实际项目中可以对参数校验异常统一拦截,返回需要的数据格式。

http://www.ds6.com.cn/news/28222.html

相关文章:

  • 七台河新闻在线直播seo的中文意思
  • 企业销售网站阐述网络营销策略的内容
  • 网站主机免费以品牌推广为目的的广告网络平台
  • 网站开发drupal销售平台软件有哪些
  • 网站页面做海报用什么软件谷歌竞价排名推广公司
  • 北京环评在那个网站上做软文一般发布在哪些平台
  • 家做网站青岛关键词优化报价
  • 怎么优化网站排名具体怎么做建网站用什么软件
  • 网站改版301怎么做东莞seo优化团队
  • 怎么推广appseo具体seo怎么优化
  • 医疗行业企业网站建设长春建站程序
  • 视频聊天网站开发费用大数据分析培训机构
  • 那些企业网站做的漂亮宁波seo外包服务商
  • 做网站基本语言搜索引擎名词解释
  • 白色网站配色推广下载app拿佣金
  • 南昌手机网站建设唐山seo
  • 网站设计论坛沈阳网站优化
  • 锦州做网站上海seo培训
  • wordpress 5.1不提示自动更新南宁网站seo大概多少钱
  • 代理网址是什么意思北京seo网络优化招聘网
  • wordpress 双 切换成都网络优化托管公司
  • durable创建网站响应式网站模板的特点
  • wordpress js效果seo关键词排名优
  • 关于旅游电子商务网站建设论文软文广告文案
  • 网站教人做核能灯免费网站流量
  • 企业网站建设的类型有哪些新产品推广方式有哪些
  • 能力建设和继续教育中心网站站长之家0
  • 网站建设模板怎么做北京网站建设公司报价
  • 设计高端的国外网站软件外包网站
  • 网站建设公司济南百度推广平台收费标准