I am using Spring @RestController
& sending response in Json format. That is working fine but i got requirement to send response to logger so i have implemented HandlerInterceptor of Spring and
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
Object handler, Exception ex) throws Exception {
System.out.println("--afterCompletion method executed--"+ request.getRequestURL());
System.out.println("--afterCompletion method executed--"+ response.getWriter());
}
getting exception
--afterCompletion method executed--http://localhost:8080/login 2015-11-29 05:48:29.184 ERROR 9116 --- [nio-8080-exec-1] o.s.web.servlet.HandlerExecutionChain : HandlerInterceptor.afterCompletion threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response at org.apache.catalina.connector.Response.getWriter(Response.java:578) at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:212) at to.lookup.api.logger.LoggingInterceptor.afterCompletion(LoggingInterceptor.java:32)