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를 새로 생성해서 데이터를 받았기 때문에 더 개선 되었다는 생각은 들지 않지만 프론트가 개선되었으니 좋은 것 같다.

반응형