해결된 질문
23.06.25 16:03 작성
·
315
·
수정됨
2
안녕하세요 ! 포트폴리오 댓글,등록 삭제 과제 풀고있 었는데요 삭제 만드는중에
왜 포폴용 서버 문서에는 저렇게 리턴값을 명시해줘야한다고 돼있는데 코드는
export const DELETE_BOARD_COMMENT = gql`
mutation deleteBoardComment($password: String, $boardCommentId: ID!) {
deleteBoardComment(password: $password, boardCommentId: $boardCommentId)
}
`;
왜 이렇게 작성해야하는건가요? 풀다보니 저렇게 해야 댓글삭제할때 오류가 나지않더라구요
처음에는
export const DELETE_BOARD_COMMENT = gql`
mutation deleteBoardComment($password: String, $boardCommentId: ID!) {
deleteBoardComment(password: $password, boardCommentId: $boardCommentId) {
ID
}
}
`;
이렇게 작성했는데 오류가 떠서 혹시나 삭제해보니 오류가 나지 않아서 궁금합니다.
점점 복잡해지네요 ㅠㅠ
일단 이해는 다 못하지만 댓글삭제, 등록 기능을 구현하긴했는데 다음챕터로 넘어가도될까요 ? 아니면 처음부터 다시 31챕터까지 복습해야할까요?
답변 1
1
2023. 06. 25. 17:01
안녕하세요! 진혁님!
점점 발전하시는 모습이 보기 좋네요! 벌써 API 연동까지 오셨어요! ㅎㅎ
먼저 올려주신 두 코드의 차이는 요청 후 응답으로 받아오는 데이터 부분에 차이가 있네요!
graphql에서 요청 후에 결과를 받아올 때, 무엇을 받고 싶은지 골라서 받을 수 있는 장점이 있다고 했죠?!
따라서, 삭제 이후에 무슨 데이터를 받을지 골라주셔야 하는데, 아쉽게도 지금은 고를 수 있는 데이터가 ID 하나밖에 없는 것 같네요!
이런 경우에는 여러개가 들어있는 객체에서 고르는게 아니라 무조건 하나밖에 안되기때문에 중괄호를 써서 골라받으실 수 없습니다!^^
기능을 구현해서 동작하게 만드셨다면, 100% 완벽한 이해가 안되셨어도 절반 이상은 이해하셨다고 보셔도 됩니다! 나머지는 진도를 계속 나가면서 자연스럽게 반복할 것이기 때문에 굳이 처음부터 다시하는 것을 추천드리진 않아요!
2023. 06. 25. 17:08
첫번째 답변에 대한 궁금중인데요 그러면
중괄호를 하지 않고 이렇게 하면 출력이 되어야 하지 않나요 ? 아니면 받아올수 있는 데이터가 하나면 명시하지않는건가요?