본문 바로가기

배움의 즐거움/프로그래밍

(13) Graphql-ruby - 루트 타입

반응형


Root Types


GraphQL 쿼리는 root types 으로 시작한다: querymutation, 그리고 subscription (실험단계).

스키마에 이름을 동일하게 해서 추가하면 된다.

class MySchema < GraphQL::Schema
  # 필수
  query Types::QueryType
  # optional
  mutation Types::MutationType
  # experimental
  subscription Types::SubscriptionType
end


아래는 GraphQL::Schema::Object 클래스이다.

# app/graphql/types/query_type.rb
class Types::QueryType < GraphQL::Schema::Object
  # ...
end

# Similarly:
class Types::MutationType < GraphQL::Schema::Object
  # ...
end
# and
class Types::SubscriptionType < GraphQL::Schema::Object
  # ...
end


각 타입은 각 GraphQL 쿼리에 대응하는 엔트리 포인트이다.

query GetPost {
  # `Query.post`
  post(id: 1) { ... }
}

mutation AddPost($postAttrs: PostInput!){
  # `Mutation.createPost`
  createPost(attrs: $postAttrs)
}

# Experimental
subscription CommentAdded {
  # `Subscription.commentAdded`
  commentAdded(postId: 1)
}


* 해당 글은 번역기 돌리다가 크롬 번역기 말도 안되는 해석에 지친 본인이 나중에 참고할 의도로 대충대충 발로 해석한 것이니 참고용으로만 사용하시길 바랍니다.

* 출처:http://graphql-ruby.org/schema/root_types.html


반응형