GraphQL schema 學習筆記

GraphQL 中有定 schema 該如何撰寫. 筆記一下一些學習到的重點

定義 Object

範例 : 
type Character {
  name: String!
  appearsIn: [Episode!]!
}

Character 可以是為一個 Object 其中包含了 name, apperIn 兩個欄位

name : String! 說明的是 這個欄位是 String 型態, 且不可以是 nullable

appersIn: [Episode!]! 說明的是, 這個欄位是個 Array 且不可以是 nullable , 此外放進 Array 中的是要 Episode 的物件且不可以是 nullable

接下來來做一個示範練習 , 一個班級有他自己的名字, 且一定有一個以上的學生, 每一個學生都有他的名字

type Class {
  name: String!
  group: [Student!]!
}
type Student {
  name: String!
}

GraphQL 有幾種預設的型態

  • Int: A signed 32‐bit integer.
  • Float: A signed double-precision floating-point value.
  • String: A UTF‐8 character sequence.
  • Booleantrue or false.
  • ID : The ID scalar type represents a unique identifier. 這邊建議可以使用在唯一值時, 比如說學號, 身分證字號, 或是流水號等

Enumeration types 列舉型態, 這個形態可以讓你在寫程式方便很多, 我們可以改寫成為 學生都有自己獨立的 ID, 名字,還有年級

 enum Grade {
  FIRSTGRADE
  SECONDGRADE
  THIRDGRADE
  FOUTRTHGRADE
  FIFTHGRADE
  SIXTHGRADE # 小六  
}

type Student{
     id: ID!
     name: String!
     grade: Grade
 }

待續…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *