
객체 타입 이란?
GraphQL 스키마의 가장 기본적인 구성요소이다.
1
2
3
4
|
type Character {
name: String!
appearsIn: [Episode]!
}
|
cs |
- Character 는 GraphQL 객체 타입 입니다. 즉, 필드가 있는 타입입니다. 스키마의 대부분의 타입은 객체 타입입니다.
- name 과 appearIn 은 Character 타입의 필드 입니다. 즉 name 과 appearIn 은 GraphQL 쿼리의 Character 타입 어디서든 사용할 수 있는 필드입니다.
- String 은 내장된 스칼라 타입 중 하나입니다. 이는 스칼라 객체로 해석되는 타입이며 쿼리에서 하위 선택을 할 수 없습니다. 스칼라 타입은 나중에 자세히 다룰 것입니다.
- String! 은 필드가 non-nullable 임을 의미합니다. 즉, 이 필드를 쿼리할 때 GraphQL 서비스가 항상 값을 반환한다는 것을 의미합니다. 타입 언어에서는 이것을 느낌표로 나타냅니다.
- [Episode]! 는 Episode 객체의 배열(array) 을 나타냅니다. 또한 non-nullable 이기 때문에 appearIn 필드를 쿼리할 때 항상(0개 이상의 아이템을 가진) 배열을 기대할 수 있습니다.
인자
GraphQL 객체 타입의 모든 필드는 인자를 가질수 있다.
1
2
3
4
5
|
type Starship {
id: ID!
name: String!
length(unit: LengthUnit = METER): Float
}
|
cs |
- length 필드는 하나의 인자 unit 을 가집니다.
- 인자는 필수거나 옵셔널일 수 있습니다.
- 인자가 옵셔널인 경우 기본값 을 정의할 수 있습니다.
- unit 인자가 전달되지 않으면 기본적으로 METER 로 설정됩니다.
'Apollo GraphQL Prisma' 카테고리의 다른 글
인스타그램 클론코딩 BACKEND 만들기 #7 - Prisma Client (0) | 2021.06.16 |
---|---|
인스타그램 클론코딩 BACKEND 만들기 #6 - Prisma Setup (0) | 2021.06.16 |
인스타그램 클론코딩 BACKEND 만들기 #4 - POC API : Mutation (0) | 2021.06.16 |
인스타그램 클론코딩 BACKEND 만들기 #3 - POC API : Query (0) | 2021.06.16 |
인스타그램 클론코딩 BACKEND 만들기 #2 - Babel (0) | 2021.06.15 |