Spring
[Spring] MultipartFile, Dto 한번에 입력 받기 | swagger | S3
DAHLIA CHOI
2023. 2. 14. 15:18
이미지랑 dto랑 같이 입력 받고 싶은데 postman에서는 multipartFile은 이미지로 dto는 json으로 따로 입력이 가능하지만 스웨거에서 실행할때는 한 번에 안뜬다....😭
그래서 @RequestBody대신에 @ModelAttribute를 사용해서 입력 받기!
Controller
@PostMapping(value = "/write")
public BaseResponse<BaseResponseStatus> uploadPosting(@RequestPart MultipartFile image,
@ModelAttribute PostingDto postingDto) throws IOException {
try {
postingService.uploadPosting(image, createPostingDto);
return new BaseResponse<>(BaseResponseStatus.SUCCESS);
} catch (BaseException exception) {
return new BaseResponse<>(exception.getStatus());
}
}
Dto
import lombok.*;
import java.sql.Date;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CreatePostingDto {
private String title;
private String content;
private Date recordDate;
private CreatePlaceDto createPlaceDto;
private int visibilityStatusCode;
}
Swagger로 본 모습 (일부화면)
이렇게 dto랑 multiparFile을 같이 입력 받을 수 있다 ㅎㅎ
s3에도 잘 올라간다!!