public void handleResolved( // final HttpServletRequest request, // final HttpServletResponse response, // final ResolvedError resolvedError // ) { final ResponseEntity<ResolvedError> returnValue = toResponseEntity(resolvedError); if (returnValue != null) { try { final Method method = ClassUtils.getMethod( // ExceptionResolver.class, "resolve", HttpServletRequest.class, Throwable.class // ); final MethodParameter returnTypeMethodParam = new MethodParameter(method, -1); // This method caches the resolved value, so it's convenient to initialize it only once here. returnTypeMethodParam.getGenericParameterType(); // XXX: Create MethodParameter from the actually used subclass of ExceptionResolver? final MethodParameter returnType = new MethodParameter(returnTypeMethodParam); final ModelAndViewContainer mavContainer = new ModelAndViewContainer(); final NativeWebRequest webRequest = new ServletWebRequest(request, response); this.httpEntityMethodProcessor.handleReturnValue(returnValue, returnType, mavContainer, webRequest); } catch (final Exception ex) { if (log.isWarnEnabled()) { log.warn("Failed to process error response: {}", returnValue, ex); } } } } }
public void handleResolved( // final HttpServletRequest request, // final HttpServletResponse response, // final ResolvedError resolvedError // ) { final ResponseEntity<ResolvedError> returnValue = toResponseEntity(resolvedError); if (returnValue != null) { try { final Method method = ClassUtils.getMethod( // ExceptionResolver.class, "resolve", HttpServletRequest.class, Throwable.class // ); final MethodParameter returnTypeMethodParam = new MethodParameter(method, -1); // This method caches the resolved value, so it's convenient to initialize it only once here. returnTypeMethodParam.getGenericParameterType(); // XXX: Create MethodParameter from the actually used subclass of ExceptionResolver? final MethodParameter returnType = new MethodParameter(returnTypeMethodParam); final ModelAndViewContainer mavContainer = new ModelAndViewContainer(); final NativeWebRequest webRequest = new ServletWebRequest(request, response); this.httpEntityMethodProcessor.handleReturnValue(returnValue, returnType, mavContainer, webRequest); } catch (final Exception ex) { if (log.isWarnEnabled()) { log.warn("Failed to process error response: {}", returnValue, ex); } } } } }