@RequestParam
이 파일 전송이 가능할 것이라는 생각은 처음에 하지 못했습니다. 왜냐하면, get방식 처럼 ? 뒤에 오는 query 내용을 다루는 애노테이션이라고 생각하여 4000 또는 8000자 제한이 있는 URL을 사용하기는 불가능하다고 생각하였기 때문입니다. 그러나 블로그들에 많은 예시가 보였고, 좀 더 찾아보니 @RequestParam
은 단순히 url의 query 말고도 form 방식으로 담겨온 body에 application/x-www-form-urlencoded 방식으로 담긴 내용도 다룬다는 것을 알게되었습니다.
해당 내용들을 요약하면 아래와 같습니다.
Content-Type: application/x-www-form-urlencoded
또는 Content-Type: multipart/form-data
와 함께 사용됩니다.Content-Type: multipart/form-data
인 요청에서 사용됩니다.@RequestPart
를 사용하여 여러 개의 파일을 동시에 업로드하는 것은 복잡할 수 있습니다.@RequestPart
는 멀티파트 요청에서 한 부분으로부터 데이터를 수신하고, 파일 업로드와 멀티파트 데이터 처리에 적합합니다.@RequestParam
은 단일 값 또는 파일 업로드에 사용되며, 단일 파일의 경우 간편하게 사용할 수 있습니다.@RequestParam
을 사용하고, 여러 파일 또는 파일과 다른 데이터를 동시에 업로드하는 경우에는 @RequestPart
를 사용하는 것이 좋습니다.