이슈
H2 [ Console No suitable driver found for 08001/0 ] 트러블슈팅⚽️
기여 및 제시
eugenp.tutorials Contribute [ Reading HttpServletRequest Multiple Times in Spring ]
Issue
[ISSUE] Reading HttpServletRequest Multiple Times in Spring Additional explanation of the limited situation needed. · Issue #16486 · eugenp/tutorials
요약 및 상황
- Http Request 의 내용을 여러번 읽을 수 있도록 Wrapper 방식을 제공하고 있다.
- FORM 데이터 형식의 요청을 진행하게 되면 FORM 데이터의 파라미터 정보가 제공되지 않아 문제가 발생하는 이슈가 있었다.
- [ 1 ]. FORM 데이터 형식의 경우 정상 작동하지 않을 수 있음을 명시해준다.
- [ 2 ].
ContentCachingRequestWrapper
파라미터를 별도로 파싱 처리 할 수 있도록 한다.
이슈 상세
생각
- 사실 이 이슈는 꽤나 많은 사람들이 경험 해보았을 만한 것으로 생각한다.
그런데… 생각보다 해결 방안이 잘 보이지 않는다.
- 아무래도 API 요청 등이 JSON 형식을 표준으로 삼아 가기 때문에 큰 문제 없이 진행이 되는 듯 하다.
- 로깅/추적을 위해 Request 를 여러번 읽어야 하는 작업에 유용하기 때문이다.
- 하지만 대체로
ContentCachingRequestWrapper
만 활용해도 충분히 여러번 읽을 수 있다.
단지, 읽을 수 있는 조건이 필요하지만 이는 Controller 까지만 다녀와도 충분히 읽을 수 있게 된다.
- 이번의 이슈는 Controller 에 다녀오기 전에 읽고 싶은 욕심에 의해서 발생한 것이고, Request Custom 자체가 상당히 위험할 수 있다는 생각이 든다.
- Request 의 파싱 작업도 Request 의 구현체가 무엇인지에 따라서 위와 같이 진행이 될지는 알 수 없다.
흔히 tomcat 환경에서 일어나는 것이기 때문… 다른 환경에서는 어떻게 될지 알 수 없다.