🍏 Spring Boot

[Spring Boot] The requestURI was rejected because it can only contain printable ASCII characters

cosmo225 2025. 3. 25. 18:38

@RequestParam 을 MultipartFile 타입으로 받아서 

포스트맨으로 file 타입을 전송하는데,

 

400 오류가 뜨며 다음과 같은 에러 메시지가 출력됐다.

 

The requestURI was rejected because it can only contain printable ASCII characters

 

이게 무슨 소리인가... 하니

ASCII 범위를 벗어나는 문자가 포함되어 있어서 Spring Security에서 차단한 것이라고 한다

 

하지만 내 파일 이름은 단순히 tumbler.jpg 였기에 

파일 이름의 문제는 아닌 것 같았다 

 

챗지피티한테 물어봤을 때는 

1. 서비스 메서드 안에서 파일 이름을 ASCII 코드로 바꿔서 전송하거나,

2. 방화벽 설정을 비아스키코드 허용으로 바꾸라는데...

 

1번은 했는데도 여전히 똑같은 오류가 발생했으며

2번은 좀 위험해 보였다

 

그래서 찾아보니...

 

@RestController 혹은 @ResponseBody 어노테이션을 붙여서

뷰가 아니라 JSON 바디를 반환하도록 하면 된다고 한다!

뷰를 찾으려고 해서 오류가 발생한다고...

 

그래서 해당 부분에 @ResponseBody를 붙였더니

오류없이 잘 실행되었다