spring
2021. 9. 12.
Post로 전달된 json Body 여러번 읽기
상황 HTTP Post 메서드로 전달된 특정 데이터를 spring interceptor에서 확인 후 controller로 넘기거나 또는 exception 처리를 해야 했다. 하지만 Post 내에 Body에 접근하고 controller로 넘기니 이미 처리된 데이터라는 식의 error 메시지 발견!! java.lang.IllegalStateException: getReader() has already been called for this request 원인 HttpServletRequest의 inputStream은 한번 읽으면 다시 읽을 수가 없다. 즉, 앞선 상황에서 interceptor에서 stream을 이용해 데이터를 처리했기 때문에 controller에서는 문제가 됐다. 해결 HttpServletRe..