title: Cannot properly read reqest body in interceptor - Spring BOOT 2.0.4
body: <p>I have a problem with reading request body in interceptor. Both <code>getReader()</code> and <code>getInputStream()</code> causing problems.
  My interceptor:</p>
  
  <pre><code>public class MyInterceptor extends HandlerInterceptorAdapter {
  @Override
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception exception)
          throws Exception {
      // TODO Auto-generated method stub
  
  }
  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
          throws Exception {
      // TODO Auto-generated method stub
  }
  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  
      String requestBody = httpRequest.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
  
  //or
  // String requestBody = new BufferedReader(new InputStreamReader(httpRequest.getInputStream()))
  //                .lines().collect(Collectors.joining("\n"));
  //some logic...
      return true;
  }
  </code></pre>
  
  <p>Both approaches failing because probably spring uses such resource somewhere internally.
  First causess <strong>java.lang.IllegalStateException: getReader() has already been called for this request</strong> and other <strong>Required request body is missing: org.springframework.http.ResponseEntity</strong>...</p>
  
  <p>I have tried some workarounds with wrappers without an effect. I think its because I cannot pass wrapper down like in filters(i dont want to use filter cause I have common exception managager(@ControllerAdvice).</p>
  
  <p>Is this a known issue? Is there any workaround for this?</p>