BoostUs 서비스에서는 프로젝트 및 게시글 생성/수정 시 title, description, repoUrl, contents 등 JSON 데이터와 이미지를 함께 업로드해야 한다.
기존에는 JSON 데이터만 저장하는 API가 구현되어 있었고, 오브젝트 스토리지 도입과 함께 이미지 저장 로직을 추가해야 한다.
이미지 업로드와 JSON 데이터를 함께 처리하는 방식에는 다음 두 가지 선택지가 존재한다.
multipart/form-data 요청으로 이미지와 JSON을 한 번에 전송한다.
이때 서버는 단일 요청 흐름 내에서 이미지 업로드 후 public URL 또는 object key를 DB에 저장한다.
multipart/form-data 환경에서는 기존에 구현해둔 DTO Validation Pipe를 사용할 수 없다.1단계: 이미지 업로드 API (multipart/form-data)