sprigmvcsprigboot简单轻量好用的参数验证。支持基本类型查参数验证。支持自定义注解的参数验证。使用简单方便。
使用4步配置
1、导入jar
<depedecy><groupId>com.github.fashiobrot</groupId><artifactId>mars-validated</artifactId><versio>1.0.0</versio></depedecy>2、使用注解
2.1sprigboot配置
@SprigBootApplicatio@EableValidatedCofig(fileName="valid_zh_CN")publicclassDemoApplicatio{publicstaticvoidmai(Strig[]args){SprigApplicatio.ru(DemoApplicatio.class,args);}}2.2sprig配置
@Compoet@Cofiguratio@EableValidatedCofig(fileName="valid_zh_CN")publicclassCofig{}3、使用@Validated开启接口验证@Email验证邮箱格式
@CotrollerpublicclassDemoCotroller{@AutowiredprivateTestServicetestService;@RequestMappig("/emailCheck")@ResposeBody@Validated//注意此处publicStrigdemo(@EmailStrigabc,){returtestService.test(abc);}}@CotrollerpublicclassDemoCotroller{@AutowiredprivateTestServicetestService;@RequestMappig("/idcardCheck")@ResposeBody@ValidatedpublicStrigdemo(IdCardModelidCardModel){returtestService.test("ac");}@RequestMappig("/idcardCheck2")@ResposeBodypublicStrigdemo2(IdCardModelidCardModel){returtestService.test2("ac");}}**此处支持多继承验证***publicclassIdCardModelextedsBaseModel{@IdCardprivateStrigidCardModel;publicStriggetIdCardModel(){returidCardModel;}publicvoidsetIdCardModel(StrigidCardModel){this.idCardModel=idCardModel;}}@ServicepublicclassTestService{@Validatedpublicvoidtest2(@IdCardStrigabc){}}4、自定义实现全局异常处理
拦截com.fashio.spv.validated.exceptio.ValidatedExceptio
@RestCotrollerAdvicepublicclassGlobalExceptioHadler{@ExceptioHadler(ValidatedExceptio.class)@ResposeStatus(HttpStatus.OK)publicRespMessageValidatioExceptio(ValidatedExceptioe){returewRespMessage(-100,e.getMsg());}}validated参数验证
使用环境
sprig4.0及以上jdk1.8及以上
AotatioSupporteddatatypes作用NotBlakStrig验证Strig字符串是否为空NotNullStrig,Object,Iteger,Log,Double,Short,Float,BigDecimal,BigIteger验证对象是否为空AssertFalseBoolea,boolea,Strig只能为falseAssertTrueBoolea,boolea,Strig只能为trueBakCardStrig验证银行卡CreditCardStrig验证信用卡DefaultIteger,Double,Log,Short,Float,BigDecimal,Strig设置默认值DigitsStrig验证是否是数字EmailStrig验证是否是邮箱IdCardStrig验证是否是身份证,验证18岁Legthit,log,short,double,Iteger,Log,Float,Double,Short,Strig验证长度PatterStrig正则表达式验证PhoeStrig验证手机号是否正确Sizeit,log,short,Iteger,Log,Short验证大小值支持自定义注解如下:1、实现CostraitValidator此接口2、自定义注解如下:CustomCostraitValidator.class,CustomCostraitValidator2.class实现类可多个,至少有一个@Documeted@Target({ElemetType.FIELD,ElemetType.PARAMETER})@Retetio(RetetioPolicy.RUNTIME)@Costrait(validatedBy={CustomCostraitValidator.class,CustomCostraitValidator2.class})public@iterfaceCustom{Strigmsg()default"com.spv.valid.Custom.msg";itmi();}3、代码实现publicclassCustomCostraitValidatorimplemetsCostraitValidator<Custom,Strig>{@OverridepublicbooleaisValid(Customcustom,Strigvar1){/***自定义方法*/itmi=custom.mi();/***value*/System.out.pritl(var1);/***returtrue则验证成功false验证失败*/returtrue;}}
评论