입력 타입 ( Input type )

Tags
type
설명
String과 같은 스칼라 외에 객체도 인자로 전달할 수 있다. 형식은 일반 객체 타입과 완전히 동일함
 

input type 이란?

스칼라 값을 인자로 전달하는 것은 했지만, 객체를 인자로 전달하는 경우도 가능하다.
입력 타입을 정의하여 인자의 타입으로 명시하면 된다.
입력 타입은 type 대신 input 이라는 키워드로 명시한다는 점 외에는 일반 객체 타입과 완전히 동일하므로, 인자의 타입을 객체로 명시할 때 사용된다는 점만 기억하면 된다.
 

input type 정의 예시

type 대신 input 이라는 키워드로 명시하는 것 외에 특이점은 없다.
input ReviewInput { stars: Int! commentary: String }
 

뮤테이션에서 입력 객체 타입을 사용하는 예시

mutation CreateReviewForEpisode($ep: Episode!, $review: ReviewInput!) { createReview(episode: $ep, review: $review) { stars commentary } }
input type을 인자로 받는 mutation 예시
{ "ep": "JEDI", # input type에 명시된 객체 형식에 맞게 객체로 전달한다. "review": { "stars": 5, "commentary": "This is a great movie!" } }
graphql 쿼리문 작성 예시