RequestBody VS ModelAttribute의 차이점을 말해주세요

@RequestBody와 @ModelAttribute는 클라이언트 측에서 보낸 데이터를 Java 객체로 만들어줍니다. 정리하면 RequestBody vs ModelAttribute는 바인딩 대상과 변환 방식이 다릅니다.

RequestBody

ModelAttribute

핵심 차이

항목@RequestBody@ModelAttribute
바인딩 대상요청 본문요청 파라미터, form-data
대표 형식JSONquery string, form, multipart
내부 처리HttpMessageConverterModelAttributeMethodProcessor
사용 예REST API 요청 DTO검색 조건, 폼 제출, 파일 업로드

참고

CSLOG에서 보기