GraphQLの型
Scalar型
Int
Float
JSON上ではnumberになる
String
Boolean
ID
互いに固有の値になる
JSON上ではstringになる
Enum
文字列のunion型のようなもの
code:.graphql
enum PhotoCategory {
SELFIE
PORTRAIT
ACTION
LANDSCAPE
GRAPHIC
}
カスタムスカラー型
これで独自のDateTime型を定義する
code:.graphql
scalar DateTime
field持たないんだmrsekut.icon
numberなのかstringなのかわからないじゃん #?? 別途validationを書けるっぽい
普通に使える
code:.graphql
type Photo {
id: ID!
created: DateTime!
}
リスト型
[]で囲う
hsと同じ
e.g. [String]
!の位置がややこしい
table:ややこい
GraphQL Schema TypeScript記法で表現するなら
[Int] null | (int|null)[]
[Int!] null | int[]
[Int]! (int|null)[]
[Int!]! int[] ←基本これをつかうはず
一番使うやつが一番書くのダルいというデザインmrsekut.icon
Object型
接続
直観どおりだがmrsekut.icon
1対1
code:.graphql
type User {
..
}
type Photo {
id: ID!
..
postedBy: User!
}
1対多
code:.graphql
type User {
githubLogin: ID!
..
}