Spring
FormData 파일과 객체 한번에 보내기
jCurve
2021. 5. 26. 00:29
728x90
반응형
토이 프로젝트를 진행하면서 리액트에서 스프링 api 서버로 파일을 포함하는 객체를 List 형태로 보내야 했다.
처음에는 프론트단에서 FormData에 일반 객체를 담으면 무시되니까 multipart/form-data로 파일 여러개와
application/json content-type의 객체를 Blob으로 변환시켜 보내는 방식으로
Controller에서는 이렇게 받아서 구현을 했다. 근데 생각해보니 이렇게하면 보내기전에 객체를 한 번 Blob 처리를 해야되니 성능적으로 너무 손해라는 생각이 들었다.
그래서 FormData에 객체 배열을 포함시키는 바꾸는게 더 좋다고 생각하여
이런식으로 배열의 인덱스 접근해서 데이터를 추가하는 방식으로 변형했다.
백엔드 코드야 multipart를 2개로 나눠서 쓰던게 사라졌지만 결국 임시 클래스로 List의 값을 받는 Dto를 새로 생성해서 데이터를 받았기 때문에 더 개선 되었다는 생각은 들지 않지만 프론트가 개선되었으니 좋은 것 같다.
반응형