query, mutation, fragment

쌍제이(JJVoiture)·2022년 10월 27일
0

새로 입사한 회사에서 api query에 graphql을 사용하는데 기존에 주로 사용하던 REST api와는 차이가 있어서 정리하려고 합니다.

mutation

query가 REST에서 GET method에 해당한다면 mutation은 수정(POST,PUT, PATCH)에 해당한다.

# query문
mutation CreateReviewForEpisode($ep: Episode!, $review: ReviewInput!) {
  createReview(episode: $ep, review: $review) {
    stars
    commentary
  }
}
# 변수
{
  "ep": "JEDI",
  "review": {
    "stars": 5,
    "commentary": "This is a great movie!"
  }
}
# response
{
  "data": {
    "createReview": {
      "stars": 5,
      "commentary": "This is a great movie!"
    }
  }
}

fragment

코드가 길어질 때 필드셋의 일부를 미리 정의하여 재사용이 가능하도록 하는 단위.

{
  leftComparison: hero(episode: EMPIRE) {
    ...comparisonFields
  }
  rightComparison: hero(episode: JEDI) {
    ...comparisonFields
  }
}

fragment comparisonFields on Character {
  name
  appearsIn
  friends {
    name
  }
}

참고 자료
https://graphql-kr.github.io/learn/queries/

profile
안녕하세요. 중구난방 개발자 쌍제이입니다.

0개의 댓글