쌓고 쌓다
@RequestPart로 JSON과 파일 함께 처리하기 with Multipart 본문
form 데이터는 2가지가 존재한다.
- application/x-www-form-urlencoded
- multipart/form-data
1번은 일반적인 key, value 형태 데이터이며,
2번은 multipart는 파일과함께 다양한 정보들을 다루는 데이터이다.
Multipart?
정리하자면. 클라이언트와 서버간에 전송할때 여러 종류의 데이터를 다루기위한 방식이다.
멀티파트 요청에는 여러개의 파트로 나눠지며 각 파트마다 데이터를 포함할 수 있다.
각 파트는 헤더와 바디로 이뤄진다. 파트에는 메타 데이터, 바디에는 실제 데이터가 포함된다.
POSTMAN으로 다음과 같이 JSON과 파일을 같이 전송할 수 있다. 이것을 서버에서 처리해주면 되는것이다.
@RequestPart?
기존에 사용하던 @RequestParam은 key, value의 form에 사용되는 반면
@RequestPart는 더 복잡한 데이터(Part)들을 다루는 multipart/form-data에 적절하며 파일 추출때 유용하게 사용하는 어노테이션이다.
다음과 같이 form-data로 전송된 JSON과 파일을 @RequestPart로 받을 수 있다.
@PostMapping("/inquirys")
public void addInquiry(@RequestPart Inquiry inquiry, @RequestPart(required = false) List<MultipartFile> files) throws IOException {
System.out.println("inquiry = " + inquiry);
System.out.println("files = " + files);
...
}
'프로그래밍 > spring' 카테고리의 다른 글
Spring Security 설정 및 로그인 페이지로 보내기 (1) | 2024.01.15 |
---|---|
Resource, UrlResource? (1) | 2024.01.02 |
API 오류 처리하는법 @ExceptionHandler (0) | 2023.12.04 |
API 응답 포맷 만들기 (0) | 2023.12.02 |
@JsonIgnore은 직렬화, 역직렬화 모두 무시 (0) | 2023.11.29 |
Comments