저번에는 클라이인터쪽에서 MultipartFile과 JSON을 같이 보내주는 코드에 대해서 알아보았다.
[SuiteCare] MultipartFile과 JSON 같이 보내기
이력서를 등록하는 기능을 구현하는 중에 사진과 폼 데이터들을 같이 보내려는데 여러 차례의 삽질이 있었다. 클라이언트쪽 코드를 먼저 살펴보겠다. 내가 서버쪽으로 전송하려고 했던 body의
sun-note.tistory.com
이번에는 서버측에서 받는 방법에서 삽질했던 기록을 하고자한다.
[Controller.class 코드]
@PostMapping("/mate/resume")
public Integer uploadResume(HttpServletRequest request, @RequestPart("file") MultipartFile file,
@RequestBody ResumeDTO resumeData) throws IOException {
String login_id = (String) request.getAttribute("id");
return mateResumeService.createResume(login_id, resumeData, file);
}
@RequestBody로 받아주니
Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException: Required part 'file' is not present.]
위의 에러가 발생했다.
열심히 서치해보니 @RequestBody와 @RequestPart를 동시에 쓸 수 없다고 한다.
그래서 @RequestBody를 @RequestPart로 수정하니 해결되었다!😆
@PostMapping("/mate/resume")
public Integer uploadResume(HttpServletRequest request, @RequestPart("file") MultipartFile file,
@RequestPart("resumeData") ResumeDTO resumeData) throws IOException {
String login_id = (String) request.getAttribute("id");
return mateResumeService.createResume(login_id, resumeData, file);
}
@RequestPart에 대한 부분은 조만간 블로그에 글을 올려볼 예정이다💪
[출처]
'프로젝트' 카테고리의 다른 글
[SuiteCare] 공공데이터 포털에 OPEN API 요청하기 (0) | 2024.04.27 |
---|---|
[SuiteCare] MySQL 다른 테이블에서 데이터 가져와서 insert하기 (0) | 2024.04.15 |
[SuiteCare] MySQL에서 일정 시간 후 자동으로 데이터 업데이트하기 (0) | 2024.04.09 |
[SuiteCare] Spring Boot 파일 용량 제한 설정하기 (1) | 2024.04.02 |
[SuiteCare] MultipartFile과 JSON 같이 보내기 (0) | 2024.03.21 |