이슈
H2 [ Console No suitable driver found for 08001/0 ] 트러블슈팅⚽️
기여 및 제시
eugenp.tutorials Contribute [ Reading HttpServletRequest Multiple Times in Spring ]
먼저, 왜 제목이 Request 재사용 인지 알아보자.
ServletInputStream
에 담기게 됩니다.ServletInputStream
에 담겨 있는 Body 영역을 읽어서 필요한 파라미터 등으로 변환이 일어납니다.Stream 이란 데이터의 흐름을 말한다.
이 데이터의 흐름은 한번만 흐르게 되고, 중간에 가로채어 읽거나 하면 다음에 읽으려 해도 데이터가 이미 존재하지 않기 때문에 다시 읽을 수 없게 된다.
이런 데이터 흐름에 의해서 Request 의 Body 는 일회성으로 읽을 수 밖에 없다. 하지만, Body 에 어떤 내용이 들어 있는지, Logging 을 하거나 요청 정보에 대해서 저장하고 싶을 때 다양한 곳에서 Body 의 영역을 읽어 보기를 원한다.
그렇다면, Request 를 여러번 읽기 위해서 어떻게 해야하는지 과정을 하나씩 해보면서 알아보자.
H2 [ Console No suitable driver found for 08001/0 ] 트러블슈팅⚽️
Spring ContentCachingRequestWrapper, ContentCachingResponseWrapper
ContentCachingRequestWrapper (Spring Framework 6.1.6 API)
ContentCachingResponseWrapper (Spring Framework 6.1.6 API)
Reading HttpServletRequest Multiple Times in Spring