22
33import cn .hutool .core .util .StrUtil ;
44import io .github .talelin .autoconfigure .bean .Code ;
5+ import io .github .talelin .autoconfigure .exception .HttpException ;
56import io .github .talelin .latticy .common .configuration .CodeMessageConfiguration ;
67import io .github .talelin .latticy .vo .UnifyResponseVO ;
7- import io .github .talelin .autoconfigure .exception .HttpException ;
88import lombok .extern .slf4j .Slf4j ;
99import org .springframework .beans .TypeMismatchException ;
1010import org .springframework .beans .factory .annotation .Value ;
2626import javax .servlet .http .HttpServletRequest ;
2727import javax .servlet .http .HttpServletResponse ;
2828import javax .validation .ConstraintViolationException ;
29+ import java .lang .reflect .Constructor ;
30+ import java .lang .reflect .InvocationTargetException ;
2931import java .util .HashMap ;
3032import java .util .List ;
3133import java .util .Map ;
@@ -49,19 +51,20 @@ public class RestExceptionHandler {
4951 * HttpException
5052 */
5153 @ ExceptionHandler ({HttpException .class })
52- public UnifyResponseVO processException (HttpException exception , HttpServletRequest request , HttpServletResponse response ) {
53- log .error ("" , exception );
54+ public UnifyResponseVO processException (HttpException exception , HttpServletRequest request , HttpServletResponse response ) throws NoSuchMethodException , IllegalAccessException , InvocationTargetException , InstantiationException {
5455 UnifyResponseVO unifyResponse = new UnifyResponseVO ();
5556 unifyResponse .setRequest (getSimpleRequest (request ));
5657 int code = exception .getCode ();
57- boolean messageOnly = exception .isMessageOnly ();
58+ boolean defaultMessage = exception .ifDefaultMessage ();
5859 unifyResponse .setCode (code );
5960 response .setStatus (exception .getHttpCode ());
6061 String errorMessage = CodeMessageConfiguration .getMessage (code );
61- if (StrUtil .isBlank (errorMessage ) || messageOnly ) {
62+ if (StrUtil .isBlank (errorMessage ) || ! defaultMessage ) {
6263 unifyResponse .setMessage (exception .getMessage ());
64+ log .error ("" , exception );
6365 } else {
6466 unifyResponse .setMessage (errorMessage );
67+ log .error ("" , exception .getClass ().getConstructor (int .class , String .class ).newInstance (code , errorMessage ));
6568 }
6669 return unifyResponse ;
6770 }
0 commit comments