IT/자바, 스프링
java.lang.ClassCastException
thesse
2022. 3. 24. 11:23
300x250
반응형
java.lang.ClassCastException: class org.springframework.web.multipart.support.StandardMultipartHttpServletRequest cannot be cast to class org.springframework.web.util.ContentCachingRequestWrapper (org.springframework.web.multipart.support.StandardMultipartHttpServletRequest and org.springframework.web.util.ContentCachingRequestWrapper are in unnamed module of loader 'app')
multipart 이미지 파일을 업로드하는 api를 테스트하는데
파일 업로드는 잘 됐고 db도 정상적으로 커밋됐지만 로그에는 위와 같은 익셉션 로그가 떴다.
바로 앞 상황을 보면 doFilterInternal로 들어와 있는데
spring security 필터체인이 되돌아나가다가 익셉션이 난 것이다.
일전에 Json 리퀘스트의 body를 로그로 찍어보려고 추가했던 커스텀 필터에서 일어난 것이다.
원인은 json 컨텐츠를 상정하고 받은 request가 json이 아닌 MultipartFile이 담긴 form-data이기 때문이다.
그래서 StandardMultipartHttpServletRequest 를 ContentCachingRequestWrapper 로 캐스트할 수 없다고 익셉션이 난 것.
지금은 딱히 json body를 로깅할 필요가 없으므로 커스텀필터를 삭제하는 것으로 해결했는데
만일 로그 유지가 필요하다면 아래 블로그를 참고할 수 있을듯
https://jamong-icetea.tistory.com/66
300x250
반응형