Closed simonzfq closed 2 years ago
异常提示有个优先级: (1)如果是@ExceptionMapper的异常,那么直接返回其msg; (2)没有@ExceptionMapper注解修饰,尝试看看这个异常有没有注册别名,有的话,取@ExceptionAliasFor注解的msg字段 (3)如果都没有,那么就通过ResponseStatusFactory产生一个默认的提示信息,目前系统默认的错误见DefaultResponseStatus这个类,错误提示是error。
如果需要修改默认的这个错误码和提示信息,可以实现实现ResponseStatusFactory接口,实现其defaultFail方法。
抛出异常时,现在的方式是从@ExceptionMapper的msg里获取出错消息,那么如果出错信息不一样的话,是不是都要建立对应的Exception类,可以只建一个业务异常类,如果在业务异常类指定其message属性时,就获取该message作为出错消息,@ExceptionMapper的msg则作为message没有设置情况下的默认值