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

bj2525님의 프로필 이미지
bj2525

작성한 질문수

풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기

어드민 페이지 - api 작성

updateProduct 에서 궁금한게 있어서 질문드려요!

작성

·

134

0

안녕하세요 재남님

updateProduct mutation에서 args 인 …data를 사용하셨는데

…data라는게 정확히 client에서 update된 정보들을 말하는걸까요??

만약 맞다면 client에서 product가 update된 data를 api호출을 통해 백엔드가 사용하는 부분인가요?..

그리구 args를 구글링해보니깐 GraphQL 쿼리의 필드에 제공된 인수라고 나오는데,

client에서 받는 data의 값이라고 이해하면 되는거겠죠?.. (restfulApi 통신할 때 사용하는 파라미터라고 생각합니다)

const updatedItem = {

    …db.products[updateTarget]

    ….data

}

그래서 위에 코드에 …data가 필요한 이유는 update된 product만 보여주는게 아니고 전체 데이터도 필요하기 때문에 사용한거라고 생각합니다.

 

질문들이 너무 많아서 죄송하지만 뭔가 이해가 안되서 질문남겼습니다 ㅜㅜ

답변 1

0

정재남님의 프로필 이미지
정재남
지식공유자

updateProduct mutation에서 args 인 …data를 사용하셨는데 …data라는게 정확히 client에서 update된 정보들을 말하는걸까요??

클라이언트에서 updateProduct 메소드 호출에 의해 서버에 요청할 때 함께 넘겨준 formData 중에서, id를 제외한 나머지 부분입니다. 이 경우에는 넘겨준 데이터가 product 하나에 대한 변경사항이므로, product 자체를 칭한다고 보아도 무방할 것입니다.

만약 맞다면 client에서 product가 update된 data를 api호출을 통해 백엔드가 사용하는 부분인가요?..

무슨 말씀이신지 잘 모르겠습니다.

그리구 args를 구글링해보니깐 GraphQL 쿼리의 필드에 제공된 인수라고 나오는데, client에서 받는 data의 값이라고 이해하면 되는거겠죠?.. (restfulApi 통신할 때 사용하는 파라미터라고 생각합니다)

args는 arguments의 약자입니다. 클라이언트에서 넘겨준 데이터 전체를 통칭합니다.

그래서 위에 코드에 …data가 필요한 이유는 update된 product만 보여주는게 아니고 전체 데이터도 필요하기 때문에 사용한거라고 생각합니다.

'전체 데이터'라는게 나머지 상품목록을 말씀하시는 거라면 틀렸습니다. 변경된 product 정보만을 담고 있습니다. 변경된 상품이 전체 목록 중 어떤 것인지를 알아내기 위해 id값이 필요했기에 별도로 추출한 것입니다.

bj2525님의 프로필 이미지
bj2525
질문자

이해했습니다! 감사해요 :)

bj2525님의 프로필 이미지
bj2525

작성한 질문수

질문하기