JAVA

@RequestBody @RequestPart 차이

오선지♬ 2024. 12. 17. 20:31
728x90
반응형

파일과 데이터를 동시에 전송하려면 @RequestBody 대신 @RequestPart를 활용해야 합니다.

이유는 @RequestBody는 JSON 데이터를 처리하고,

@RequestPart는 multipart/form-data에서 데이터를 처리하기 때문입니다.

 

비교

특징@RequestBody@RequestPart

사용 시점 JSON 또는 XML 데이터를 처리할 때 multipart/form-data 요청 처리할 때
요청 데이터 형식 JSON, XML 등 직렬화된 데이터 multipart/form-data
주로 처리 대상 일반 객체 (JSON -> Java) 파일(MultipartFile) 및 객체(JSON)
HTTP 요청 본문 방식 단일 요청 본문으로 처리 요청 본문을 여러 파트로 나누어 처리
Spring 변환기 사용 HttpMessageConverter (JSON -> Java 객체 변환) MultipartResolver (MultipartFile 등 처리)

결론

  • 파일 업로드와 JSON 데이터를 함께 처리하려면 @RequestPart를 사용.
  • 순수 JSON 데이터를 처리하려면 @RequestBody를 사용.
  • 필요에 따라 @RequestPart와 @RequestBody를 동시에 사용할 수도 있습니다.
728x90
반응형