인프런 커뮤니티 질문&답변

nya님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

다대다 관계에서 productTags의 타입에 관한 질문입니다

해결된 질문

작성

·

304

0

안녕하세요. 항상 알기쉽게 설명해주셔서 많은 도움이되고 있습니다. (myERD프로젝트하는데 거의 일주일 걸린것 같습니다 ㅎㅎ)

섹션29 10-8 다대다 api설계에서 productTags에 대한 질문드립니다.

아래와 같이 tags을 productTags에 넣어서 리턴을 해주는 상황입니다.

그런데 여기서 ...prevTags와 ...newTags.identifiers의 타입이 서로 다른것 같아서 다음과같이 콘솔로 찍어 보았습니다. 배열요소의 3번째까지가 ...prevTags에 담긴 값인데 저렇게 리턴하면 타입관련에러나 DB에 저장이나 서로 연결이 안될줄 알았는데 강의와 같이 잘 작동하였습니다.

그래서 아래와 같이 productTags의 타입인 ProductTag[]도 확인해보았는데도 잘 이해가 안갑니다

제생각에는 prevTags에서 id만 뽑아낸 객체배열을 새로 정의한 다음에 스프레드시켜서 넣어주어야 할것같은데, 해보니 둘 다 결과는 같네요... 제가 어떤 걸 놓치고 있는 걸까요?

사족 : 그런데 이 문제를 생각하는 도중에 힌트를 얻어서 update에서 에러나는 숙제를 해결했습니다^^

 

답변 1

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! nya님!

먼저, update 과제를 해결하셨다니! 축하드려요! ㅎㅎ 해당 과제를 통해서 타입스크립트가 필요한 이유스스로 할 수 있다는 자신감을 얻으셨을 것 같아요!^^

질문하신 내용에서 해당 배열안의 객체에 어떤건 id만 있고 어떤건 id, name 등 여러개 있는데, 다시말해 데이터 구조가 다른데 왜 잘 작동하는가에 대한 질문이신 것 같아여!

사실 해당 구문을 통해서 mysql에 저장되는건 id밖에 없답니다! 안에 name이 있어도 mysql에는 name이 저장되지 않아요! 그게 우리가 위에서 태그만 따로 1번 저장하고, 아래에서 상품을 다시 저장했던 이유랍니다!

다시말하면, id만 있으면 되겠죠?!

그러면 name이 있고 없고의 차이는 어디서 발생하냐면 해당 데이터 객체를 브라우저에 return문으로 돌려줄때 브라우저에서 name도 받을 수 있을지, id만 받을 수 있을지에는 차이가 있습니다!^^

nya님의 프로필 이미지

작성한 질문수

질문하기