请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

check方法抛出自定义ParamException后,怎么不执行后面的return JsonData.success("check validate");

回答1 浏览100 2020-10-13 17:35:37
@RequestMapping("/check.json")
@ResponseBody
public JsonData validateParam(TestVo testVo) throws ParamException {
    log.info("validate");
    BeanValidator.check(testVo);//校验过程中  可能通过自定义的check方法  抛出自定义的 ParamException
    return JsonData.success("check validate");
}

当我在方法中也没有给testVo对象三个属性使用set方法赋值,而是直接请求/check.json,url没有携带参数时,check方法校验该testVo对象三个属性值都为空,不符合那三个注解的约束,有一个封装错误字段和信息的map集合,抛出自定义ParamException后,为什么不执行后面的return JsonData.success(“check validate”),
而是在页面返回{ret: false,msg: “{msg=不能为空, strList=不能为空, id=id不可以为空}”,data: null}

添加回答

已采纳回答

你好,这个会被全局异常类捕捉进行处理,不是走的正常处理流程

2020-10-14 22:31:48

Java开发企业级权限管理系统

难度中级
时长19小时
人数2007
好评度99%

源于企业真实Java项目,涉及大量Java高级技巧,完整覆盖权限管理系统开发技术

讲师

Jimin JAVA开发工程师

美股行情中心技术负责人,去哪儿网业务线负责人,首届Hackathon大赛一等奖获得者,7年Java开发经验喜欢架构及性能优化,喜欢研究新技术,参与多个大型分布式网站架构设计开发有大量高并发、高性能、高可用系统开发经验

意见反馈 帮助中心 APP下载
官方微信