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.Boolean:trueorfalse.- 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
}
待續…