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
:true
orfalse
.- 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 }
待續…