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;
        }

    待续.....

  • 相关阅读:
    【CodeForces 438D 】The Child and Sequence
    【雅礼集训 2017 Day1】市场
    【POJ2528】Mayor's posters
    【NOIP模拟】图论题Graph
    【BZOJ2654】Tree
    【NOIP模拟】函数
    【NOIP模拟】箱子
    【CQOI2014】数三角形
    【USACO2009Feb】股票市场
    【APIO2009-3】抢掠计划
  • 原文地址:https://www.cnblogs.com/g-sheng/p/9685504.html
Copyright © 2011-2022 走看看