본문 바로가기

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

(9) Graphql-ruby - Generators

반응형


Generators


만약에 Ruby on Rails 와 함께 GraphL을 쓰고 있다면, 다음과 같은 상황을 위해 제너레이터를 사용할 수 있다.


graphql:install

graphql:install 키워드를 사용하여 Rails 앱에 GraphQL을 추가할 수 있다.

rails generate graphql:install

해당 키워드는 다음과 같은 작업을 한다.

  •  app/graphql/ 폴더 구조 셋업
  • 스키마 정의 추가
  • 기본 타입 클래스들 추가
  • 쿼리 타입 정의 추가
  • 쿼리 실행을 위한 route와 컨트롤러 추가
  • graphiql-rails 젬 설치


설치를 마친 뒤 새로운 스키마를 보는 방법

  • bundle install
  • rails server
  • Open localhost:3000/graphiql


Options

  • --relay 는 Relay-specific 코드를 스키마에 추가
  • --batch GraphQL::Batch 를 젬파일에 추가하고 스키마에 셋업 추가
  • --no-graphiql graphiql-rails 를 셋업에서 제외
  • --schema=MySchemaName 를 스키마의 이름으로 사용(디폴트는 #{앱이름}Schema)


Scaffolding Types

아래와 같은 제너레이터들로 프로젝트에 타입 추가할 수 있음. 옵션 더 보기는 -h 와 함께 실행

  • rails g graphql:object Typename
  • rails g graphql:interface Typename 
  • rails g graphql:union Typename
  • rails g graphql:enum Typename
  • rails g graphql:scalar Typename


Scaffolding Mutations

Relay Classic mutation

rails g graphql:mutation #{mutation_name}


Scaffolding Loaders

GraphQL::Batch loader 

rails g graphql:loader



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

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



반응형