초보자를 위한 GraphQL 튜토리얼 - 치트 시트

소개



저는 Visual Editor for GraphQL의 설립자입니다. 이 블로그 게시물은 초보자를 위한 자습서의 일부입니다. 더 많은 것을 얻고 다른 기사를 확인하려면 나를 따르십시오. 이미 GraphQL의 기본 사항, 소개 및 스키마 정의 언어를 다루었습니다. 자유롭게 의견을 말하고 변경 사항을 제안하십시오.

유형 정의



scalar > Scalar type
type > Object type
interface > Interface type
union > Union type
enum > Enumerable type
input > Input object type



스칼라 유형



String - set of characters in UTF-8 format,
Int - 32-bit integer,
Float - floating point number,
Boolean - value true or false
ID - a type representing the unique identifier for the object.



유형 수정자



String > Nullable string
String! > Required string
[String] > List of strings
[String]! > Required list of strings
[String!]! > Required list of required strings



GraphQL 스키마의 예



type Author {
  id: Int!
  firstName: String
  lastName: String
  """
  the list of Books by this author
  """
  books: [Book]
}
type Book {
  id: Int!
  title: String
  author: Author
  pages: Int
}

당사Visual Editor for GraphQL에서 이 예를 살펴보십시오.



이 스키마는 다음 쿼리를 허용합니다.



type Query {
  book: [Book]
  author(id: Int!): Author
}  

입력 인수


기본 입력



type Root {
  users(limit: Int): [User]!
}

기본값으로 입력



type Root {
  users(limit: Int = 10): [User]!
}

여러 인수를 사용한 입력



type Root {
  users(limit: Int, sort: String): [User]!
}

여러 인수 및 기본값이 있는 입력



type Root {
  users(limit: Int = 10, sort: String): [User]!
}

또는



type Root {
  users(limit: Int, sort: String = "asc" ): [User]!
}

인터페이스



interface Publication {
  title: String!
  releasedDate: String!
}
type Magazine implements Publication {
  title: String!
  releasedDate: String!
  version: Int!
}  
type Book implements Publication {
  title: String!
  releasedDate: String!
  pages: Int!
}

노조



union SearchResult = Book | Author

type Query {
  search(text: String!): SearchResult
}

query {
  search(text: "Park") {
    ... on Book {
      title
    }
    ... on Author {
      name
    }
  }
}

열거형



enum RGB {
  RED
  GREEN
  BLUE
}
type Root {
  color: RGB
}

입력 개체 유형



input ListUsersInput {
  limit: Int 
  since_id: ID
}
type Root {
  users(params: ListUsersInput): [Users]!
}

최고의 graphql 자습서를 찾고 있다면 이것을 확인하십시오post.

좋은 웹페이지 즐겨찾기