-
23-08-21 TIL 프론트에서 DB로 배열로 넘겨주는 방법일차 TIL 2023. 8. 22. 02:00
문제
Typescript를 사용하는 도중 배열을 받을 일이 생겼다.
@IsNotEmpty()@IsArray()categoryIds: string[];이때 프론트에서 이벤트리스너를 사용하여 그대로 받아온다면, 배열로 인식을 못하고 오류가 생긴다.
(오류는 400으로 지정한 타입에 맞지않는다고 뜸)
body: JSON.stringify({categoryIds})를 사용하여 string으로 변환 시켜주어서 보내주는 것만으론 문제가 발생하게 된다.
그렇다면 어떻게 배열로 인식을 하게 해줄 것인가?
가장먼저 내가 받는 데이터의 형태를 보았다.
A, B, C 이런 식으로 , 를 기준으로 배열로 받기로 하였는데
이것을 그대로 stringify로 보낸다면, 배열로 인식하지 못한다는 것이다.
그렇다면 내가 배열로 바꾸어서 DB로 보내주면 되는 것이다.
const categoryIds = CategoryIds.split(',').map((item) => item.trim());split을 사용하여 , 기준으로 분리해주었고, trim()을 사용하여 양끝의 공백이 있을 경우 제거하고
새로운 문자열로 반환하게만들어서 넣어주었다.
'일차 TIL' 카테고리의 다른 글
09-23 Get 요청을 보낼 때 값을 같이 보내기 (0) 2023.09.20 23-08-28 TIL DTO에서의 null 값 설정 (0) 2023.08.28 23-08-09 TIL (0) 2023.08.10 23-07-31 TIL DTO(Data Transfet Object) (0) 2023.08.01 23-07-28 ts DB 연결 에러 (0) 2023.07.31