해결해야 하는 상황:
formdata에 값을 'string'으로 넣어야한다.
data의 type은 object이다 (객체)

내가 전달하고자 하는 값은
Formdata.append('cate1', cate1)
인데, 이 cate1은 ['1','3'] 이런 식의 배열이었다
나는 1, 3 ... 이런식으로 string으로 보내야 하는 상황이다.
해결방법 : data를 배열로 만든 후 map 메서드로 원하는대로 데이터를 가공하자.
배열의 map 메서드를 사용하면
데이터를 원하는 대로 가공할 수 있다.
const editData = [data].map(i => ({ //data를 [ ]로 감싼다
Category1: i.anatdelProductCategory1.join(','),
Category2: i.anatdelProductCategory2.join(','),
})
.join을 사용해 , 구분자로 배열의 내용을 string으로 변환했다.
editData의 결과값은 array가 되었고
이제 array안의 [0]번째 인덱스값만이 필요하다.

const json = JSON.stringify(editData[0]);
const blob = new Blob([json], {
type: 'application/json',
});
Formdata.append('anatdelProductInsertReq', blob);
나는 multipart-formdata로 데이터를 보내야 했고
데이터 안에는 이미지 파일과 json객체가 있다.
백엔드로 값을 넘겨줄때 json부분은 application/json으로 넘겨줘야 해서
new Blob으로 값을 생성하여 넘겨줬다.
'React' 카테고리의 다른 글
해결해야 하는 상황:
formdata에 값을 'string'으로 넣어야한다.
data의 type은 object이다 (객체)

내가 전달하고자 하는 값은
Formdata.append('cate1', cate1)
인데, 이 cate1은 ['1','3'] 이런 식의 배열이었다
나는 1, 3 ... 이런식으로 string으로 보내야 하는 상황이다.
해결방법 : data를 배열로 만든 후 map 메서드로 원하는대로 데이터를 가공하자.
배열의 map 메서드를 사용하면
데이터를 원하는 대로 가공할 수 있다.
const editData = [data].map(i => ({ //data를 [ ]로 감싼다
Category1: i.anatdelProductCategory1.join(','),
Category2: i.anatdelProductCategory2.join(','),
})
.join을 사용해 , 구분자로 배열의 내용을 string으로 변환했다.
editData의 결과값은 array가 되었고
이제 array안의 [0]번째 인덱스값만이 필요하다.

const json = JSON.stringify(editData[0]);
const blob = new Blob([json], {
type: 'application/json',
});
Formdata.append('anatdelProductInsertReq', blob);
나는 multipart-formdata로 데이터를 보내야 했고
데이터 안에는 이미지 파일과 json객체가 있다.
백엔드로 값을 넘겨줄때 json부분은 application/json으로 넘겨줘야 해서
new Blob으로 값을 생성하여 넘겨줬다.