关于hibernate jar包的checkbean的注解抛的异常捕获来做数据检查

首先,实体bean属性上面加上@not null或blank等,    例如@NotBlank(message="id,02-001-000")

然后再service层实现类,注入检查类,   

 @Autowired
 private ValidateService validateService;

然后如上图,就可以在保持数据前进行check,然后把所有不符合注解的信息以arr的形式,通过异常跑出来,我们在controller层可以catch到并解析出来,反馈给前台,进行消息提示,

}catch(com.sgcc.uap.mdd.runtime.exception.ValidateException e){
            JSONArray messageArr = new JSONArray();
            JSONObject iteam = new JSONObject();
            boolean isHaveErr = false;
            String s = e.getMessage();
            JSONArray jar = JSONArray.fromObject(s);
            JSONArray jarr = jar.getJSONArray(0);
            for(Object o : jarr){
                JSONObject jo = JSONObject.fromObject(o);
                String errMessage = "";
                if(jo.getBoolean("error")){
                    isHaveErr = true;
                    errMessage = jo.getString("errorsToDefaulFormatString");
                    iteam.put("message", errMessage);
                    messageArr.add(iteam);
                }
            }
            if(isHaveErr){
                WrappedResult rs = WrappedResult.failedValidateWrappedResult(messageArr.toString());
                return rs;
            }else{
                return WrappedResult.failedWrappedResult("02-001-003");//"校验异常"
            }
            
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章