인프런 커뮤니티 질문&답변

오리쉐리님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

스프링과 파일 업로드

@ModelAttribute @RequestParam

작성

·

162

1

안녕하세요.

강의를 듣던중 궁금한 내용이 생겼는데 구글링을 해도 명확한 답변이 나오지않아 질문드립니다ㅠㅠ

 

강의 내용중 컨트롤러의 파라미터에서,

@ModelAttribute MultipartFile file와 @RequestParam MultipartFile file의 차이가 무엇인지 질문드립니다..!
강의 자료에서는 ' @ModelAttribute에서도 MultipartFile을 동일하게 사용할수있다 ' 고 되어있지만, 어차피 file.getOriginalFilename()을 사용하는것은 @ModelAttribute나 @RequestParam이나 동일한것같은데, 어떨때 @ModelAttribute를 사용해야하고, 어떨때 @RequestParam을 사용해야하는지 모르겠습니다.. 둘중 아무거나 사용해도 되는건가요..? 바로 뒤 강의에서는 @ModelAttribute로서 MultipartFile을 받아오는거같은데 어떨때 사용하는것인지 궁금해서 질문드립니다..!

감사합니다!

답변 1

1

안녕하세요. gomdole03님, 공식 서포터즈 y2gcoder입니다.

간단하게 말씀드리면

하나씩 다 따로 매핑해주기 위해서는 @RequestParam, 폼 객체를 한꺼번에 매핑해주기 위해서는 @ModelAttribute 를 사용하시면 됩니다! 이 때는 MultipartFile 하고는 상관없이 @RequestParam, @ModelAttribute 의 차이만 놓고 사용하셔도 됩니다 🙂

아마 두 예제를 비교해보시면 이해하실 것 같습니다 🙂

image

 

imageimage

 

감사합니다.