|  | @@ -11,6 +11,7 @@ import org.springframework.web.servlet.ModelAndView;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import javax.servlet.http.HttpServletRequest;
 | 
	
		
			
				|  |  |  import javax.servlet.http.HttpServletResponse;
 | 
	
		
			
				|  |  | +import java.io.IOException;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * common exception resolver
 | 
	
	
		
			
				|  | @@ -23,19 +24,34 @@ public class WebExceptionResolver implements HandlerExceptionResolver {
 | 
	
		
			
				|  |  |  	public ModelAndView resolveException(HttpServletRequest request,
 | 
	
		
			
				|  |  |  			HttpServletResponse response, Object handler, Exception ex) {
 | 
	
		
			
				|  |  |  		logger.error("WebExceptionResolver:{}", ex);
 | 
	
		
			
				|  |  | -		
 | 
	
		
			
				|  |  | -		ModelAndView mv = new ModelAndView();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		// if json
 | 
	
		
			
				|  |  | +		boolean isJson = false;
 | 
	
		
			
				|  |  |  		HandlerMethod method = (HandlerMethod)handler;
 | 
	
		
			
				|  |  |  		ResponseBody responseBody = method.getMethodAnnotation(ResponseBody.class);
 | 
	
		
			
				|  |  |  		if (responseBody != null) {
 | 
	
		
			
				|  |  | -			response.setContentType("application/json;charset=UTF-8");
 | 
	
		
			
				|  |  | -			mv.addObject("result", JacksonUtil.writeValueAsString(new ReturnT<String>(500, ex.toString().replaceAll("\n", "<br/>"))));
 | 
	
		
			
				|  |  | -			mv.setViewName("/common/common.result");
 | 
	
		
			
				|  |  | +			isJson = true;
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		// error result
 | 
	
		
			
				|  |  | +		ReturnT<String> errorResult = new ReturnT<String>(ReturnT.FAIL_CODE, ex.toString().replaceAll("\n", "<br/>"));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		// response
 | 
	
		
			
				|  |  | +		ModelAndView mv = new ModelAndView();
 | 
	
		
			
				|  |  | +		if (isJson) {
 | 
	
		
			
				|  |  | +			try {
 | 
	
		
			
				|  |  | +				response.setContentType("application/json;charset=utf-8");
 | 
	
		
			
				|  |  | +				response.getWriter().print(JacksonUtil.writeValueAsString(errorResult));
 | 
	
		
			
				|  |  | +			} catch (IOException e) {
 | 
	
		
			
				|  |  | +				logger.error(e.getMessage(), e);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			return mv;
 | 
	
		
			
				|  |  |  		} else {
 | 
	
		
			
				|  |  | -			mv.addObject("exceptionMsg", ex.toString().replaceAll("\n", "<br/>"));	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			mv.addObject("exceptionMsg", errorResult.getMsg());
 | 
	
		
			
				|  |  |  			mv.setViewName("/common/common.exception");
 | 
	
		
			
				|  |  | +			return mv;
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		return mv;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |  }
 |