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
반응형
'IT > 자바, 스프링' 카테고리의 다른 글
jpa query method로 날짜 비교하기 (0) | 2022.05.18 |
---|---|
jpa pageRequest로 데이터 가져왔을때 Index out of bounds for length 에러 (0) | 2022.05.09 |
maria db timezone 한국시간으로 맞추기 (0) | 2022.03.17 |
Access-Control-Allow-Origin 여러 도메인을 허가해 줄 수 없을까? (0) | 2022.02.22 |
자바 for문 돌리는 중 ConcurrentModificationException 에러 (0) | 2022.01.13 |