码迷,mamicode.com
首页 > 其他好文 > 详细

2017/2/7 专注力培养 每日总结规划

时间:2017-02-07 12:19:13      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:cat   log   总结   map   lis   思想   erro   uid   bsp   

  上午主要围绕着validate查看相关资料,缘由是之前有一个通用的属性校验利用java反射机制做的,但是却只能校验pojo的第一层属性,如果pojo中包含另外的成员类就无法校验此成员内部的属性。

public static String validateInputParameters(Object request_pojo,Map<String,String> validatePairs,String request_id) {
        if(request_pojo == null){
            log.error(String.format("uuid %s:请求json为空",request_id));
            return "请求参数为空!";
        }
        try {
            for(Map.Entry<String, String> entry : validatePairs.entrySet()){
                Object value = ReflectUtils.getValueByFieldName(request_pojo, entry.getKey());
                if(value==null || StringUtils.isEmpty(value.toString())){
                    log.error(String.format("uuid %s: 请参参数有误,%s",request_id, entry.getValue()));
                    return entry.getValue();
                }else if(value instanceof List<?>){
                    if(((List<?>)value).size()==0){
                        log.error(String.format("uuid %s: 请参参数有误,%s",request_id, entry.getValue()));
                        return entry.getValue();
                    }
                }
            }
        } catch (Exception e) {
            log.error(String.format("uuid %s:系统错误,验证必填入参时出错", request_id),e);
            return "系统繁忙!";
        }
        
        return OrderContants.SUCCESS;
    }

 

public static Object getValueByFieldName(Object obj, String fieldName) {
        Field field = getFieldByName(obj, fieldName);
        Object value = null;
        if(field == null) {
            return null;
        }
        try {
            /* 通过一对存储器方法(getter / setter)导出的一个属性 */
            PropertyDescriptor descriptor = new PropertyDescriptor(fieldName, obj.getClass());
            value = descriptor.getReadMethod().invoke(obj, new Object[] {});
        } catch (IllegalAccessException e) {
            logger.info(e.getMessage());
        } catch (IllegalArgumentException e) {
            logger.info(e.getMessage());
        } catch (InvocationTargetException e) {
            logger.info(e.getMessage());
        } catch (IntrospectionException e) {
            logger.info(e.getMessage());
        }
        return value;
    }

 

 

在寻找方案的时候发现自己看着看着 思想就跑远了,刚过完年发现自己进入状态很慢,有点精神涣散。如何看待工作?business。

2017/2/7 专注力培养 每日总结规划

标签:cat   log   总结   map   lis   思想   erro   uid   bsp   

原文地址:http://www.cnblogs.com/Luke-wang/p/6373368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!