zoukankan      html  css  js  c++  java
  • Java 必填参数验证

    在接口拦截器中,执行

     /**
         * 
         * @param obj  待验证的requestDTO
         * @param originMap  必填参数Map
         * @return map :isSuccess=true 成功
         *               isSuccess=false 失败
         */
    
        public static Map validatorCheck(Object obj, Map<String,Object> originMap) {
            Map<String,Object> resultMap = new HashMap<>();
    
            //object 转 map
            if (obj == null) {
                return null;
            }
            Map<String, Object> paramsMap = new HashMap<>();
            Field[] declaredFields = obj.getClass().getDeclaredFields();
            for (Field field : declaredFields) {
                field.setAccessible(true);
                try {
                    paramsMap.put(field.getName(), field.get(obj));
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                    resultMap.put(field.getName(),e.getMessage());
                    return resultMap;
                }
                field.setAccessible(false);
            }
    
            //验证map
            for (Object key : originMap.keySet()) {
                //字符串
                Object value=paramsMap.get(key);
                if(value instanceof String){
                    if(paramsMap.get(key)==null || paramsMap.get(key).equals("")){
                        resultMap.put(key.toString(),originMap.get(key));
                    }
                }else{
                    if(paramsMap.get(key)==null){
                        resultMap.put(key.toString(),originMap.get(key));
                    }
                }
            }
            if(resultMap.size()>0){
                resultMap.put("isSuccess",false);
            }else{
                resultMap.put("isSuccess",true);
            }
            return resultMap;
        }

    待续.....

  • 相关阅读:
    用django搭建自己的博客
    python模块调用
    python常用函数
    ubuntu不能访问windows中的文件
    更改ubuntu下mysql的密码
    重拾代码,加油
    java 接收 char字符型
    Git基础
    flask中'bool' object has no attribute '__call__'问题
    基于python的flask的应用实例注意事项
  • 原文地址:https://www.cnblogs.com/g-sheng/p/9685504.html
Copyright © 2011-2022 走看看