필드

Tags
query
설명
객체와 얻고싶은 객체의 필드를 명시해서 쿼리를 요청하는 기본 예시 - 쿼리문에 주석도 넣을 수 있음! - 작업 타입작업 이름을 명시하는 쿼리, 단축 문법 활용 예시
 

필드

  • GraphQL에서는 얻고싶은 객체명과 해당 객체로부터 얻고싶은 특정 필드들을 명시함으로써 원하는 값들만 얻을 수 있다.

쿼리 예시

단축 문법 활용 예시

우선은 가장 쉽게 해볼 수 있는 쿼리로, 단축 문법으로 쿼리를 보내보자.
query 타입과 작업이름을 명시하지 않고 단순히 json 형태로 쿼리 요청을 할 수 있다.
{ hero { name } }
쿼리문 ( from client ) - 단축 문법 예시
{ "data": { "hero": { "name": "R2-D2" } } }
쿼리 반환 결과 ( from server )

객체의 특정 프롭만 받기도 가능!

{ hero { name # 쿼리에 주석을 쓸 수도 있습니다! friends { name } } }
쿼리 예시 ( from client ) - 단축 문법 예시
friends는 객체 배열을 반환하는데, 나는 객체의 name 속성만 궁금하다고 쿼리를 보내는 것임.
따라서 서버에서는 friends의 전체 값을 받아온 뒤, name 속성만 필터링해서 클라이언트에는 name 속성만 포함시켜서 반환해줌으로써, 클라이언트는 진짜 본인이 필요한 값들만 받아 볼 수 있다.
{ "data": { "hero": { "name": "R2-D2", "friends": [ { "name": "Luke Skywalker" }, { "name": "Han Solo" }, { "name": "Leia Organa" } ] } } }
쿼리 반환 결과 ( from server )

query 타입, 작업이름 명시

💡
- 작업 타입은 query, mutation, subscription이 될 수 있다. - 작업 이름은 의미있고 명시적으로 작성하는 것이 좋으며, 서버 측에서 로깅에 매우 유용하다.
query HeroNameAndFriends { hero { name friends { name } } }
작업 타입 : query, 작업 이름 : HeroNameAndFriends
{ "data": { "hero": { "name": "R2-D2", "friends": [ { "name": "Luke Skywalker" }, { "name": "Han Solo" }, { "name": "Leia Organa" } ] } } }
반환 결과