Ehi-Verification Spring-webmvc参数校验框架开源项目

我要开发同款
匿名用户2018年12月12日
120阅读

技术信息

开源地址
https://gitee.com/yuxuankkkkk/ehi-verification
授权协议
MIT

作品详情

项目介绍

一个好用的快速的参数校验框架支持直接调用校验并提供Sprig-webmvc拦截器对请求参数进行校验

软件架构

没啥架构,不强制依赖第三方Jar包

安装教程

PS:正在往Mave中央仓库发布中暂时使用拉取项目打包的本地的方式使用

拉取项目

在项目跟目录执行mvcleaistall

如没问题就可以在项目中直接使用了

 <depedecy>     <groupId>com.yuxua66</groupId>     <artifactId>ehi-verificatio</artifactId>     <versio>1.0-SNAPSHOT</versio> </depedecy>

如非Mave项目直接打包后找到Jar放入项目中即可

使用说明

首先我们先来认识几个常用的类和注解

Verificatio,Param,Le

EhiVerificatio,VerificatioResult,Result,CostFormat

Param:标记一个参数要进行校验

参数:

value(Strig)=字段名称

require(boolea)=是否需要(默认为需要)

asFor(Strig)=必须跟asFor的字段内容一致

ullFor(Strig)=ullFor的字段内容和当前内容不能同时为空

ullMsg(Strig)=字段为空的错误提示,默认使用全局提示

errorMsg(Strig)=字段校验不通过的错误提示,默认使用全局提示

patter(Strig)=用来校验的正则

le(@Le)=长度校验

Verificatio:标记一个类,Bea只有此注解才会生效参数:params(@Param)=字段列表

@Verificatio(params = {        @Param(value = "ame", require = false, le = @Le(mi = 10, max = 20),errorMsg = "用户名必须为10~20位字符"),        @Param(value = "password"),        @Param(value = "email", patter = CostFormat.EMAIL)})public class User exteds HashMap {    private Strig ame;    private Strig password;    private Strig email;    @Param(value = "age")    private it age;    public Strig getName() {        retur ame;    }    public void setName(Strig ame) {        this.ame = ame;    }    public Strig getPassword() {        retur password;    }    public void setPassword(Strig password) {        this.password = password;    }    public Strig getEmail() {        retur email;    }    public void setEmail(Strig email) {        this.email = email;    }    public it getAge() {        retur age;    }    public void setAge(it age) {        this.age = age;    }}

demo

   public static void mai(Strig ...args){        User user = ew User();        user.setName("1111111111");        user.setEmail("eqeq@qq.com");        user.setPassword("dsadsa");        VerificatioResult verificatioResult = ew EhiVerificatio().verificatio(user);        System.out.pritl(verificatioResult.isVerificatio());        System.out.pritl(verificatioResult.getErrorMsg());    }//校验一个实体 实体可以集成Map会自动区分VerificatioResult verificatioResult = ew EhiVerificatio().verificatio(user);返回一个校验结果verificatioResult.isVerificatio();//返回是否有校验不通过字段verificatioResult.getErrorMsg();//返回校验不通过的提示语,如上行代码返回true则此代码返回空字符串

下面我们来学习一下高级的使用方式,这里我们使用sprigboot进行集成

拦截器配置

package com.km66.kowledge.support.cofig.web;import com.km66.kowledge.support.iterceptor.AuthIterceptor;import com.km66.kowledge.support.resolver.DictArgumetResolver;import com.yuxua66.ehi.verificatio.core.EhiVerificatio;import com.yuxua66.ehi.verificatio.iterceptor.ParamIterceptor;import org.sprigframework.boot.web.servlet.ServletListeerRegistratioBea;import org.sprigframework.cotext.aotatio.Bea;import org.sprigframework.cotext.aotatio.Cofiguratio;import org.sprigframework.web.cotext.request.RequestCotextListeer;import org.sprigframework.web.method.support.HadlerMethodArgumetResolver;import org.sprigframework.web.servlet.cofig.aotatio.IterceptorRegistry;import org.sprigframework.web.servlet.cofig.aotatio.ResourceHadlerRegistry;import org.sprigframework.web.servlet.cofig.aotatio.WebMvcCofigurer;import java.util.List;@Cofiguratiopublic class WebMvcCofig implemets WebMvcCofigurer {@Overridepublic void addIterceptors(IterceptorRegistry registry) {        //创建核心校验器        EhiVerificatio ehiVerificatio = ew EhiVerificatio();        //添加参数拦截器registry.addIterceptor(ew ParamIterceptor(ehiVerificatio));}}

Cotroller配置

@RequestMappig(path = "updateAccessTokeByRefreshToke", method = RequestMethod.POST)    @ResposeBody    @Verificatio(params = {            @Param(value = "userame", le = @Le(mi = 10, max = 20),errorMsg = "用户名格式不正确",ullMsg = "用户名必须输入"),            @Param(value = "email" ,patter = CostFormat.EMAIL),            @Param(value = "password")    })    public RespEtity updateAccessTokeByRefreshToke(@RequestParam Map<Strig, Object> params) {        try {            retur usersService.updateAccessTokeByRefreshToke(params);        } catch (Exceptio e) {            logger.error("服务器异常", e);            retur RespEtity.fail();        }    }

功能介绍

项目介绍 一个好用的快速的参数校验框架 支持直接调用校验并提供Spring-webmvc拦截器对请求参数进行校验 软件架构 没啥架构,不强制依赖第三方Jar包 安装教程 PS:正在往Maven中...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论