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
반응형
'JAVA' 카테고리의 다른 글
[JAVA] BeanUtils.copyProperties 주의사항 (0) | 2025.01.08 |
---|---|
[JAVA]BigDecimal null 처리 예제 (0) | 2024.12.23 |
[JAVA] startsWith (0) | 2024.12.13 |
[JAVA] endsWith (0) | 2024.12.12 |
[JAVA] 제네릭유형으로 파라미터를 받아왔을 때 다운캐스팅 하는 이유 (0) | 2024.12.11 |