GraphQLの型
型の宣言方法はライブラリ等によって異なるが、基本はSDLを使う .graphqlという拡張子のファイルに書いたりするやつ
6種類の型
Scalar型
String
Int
Float
Boolean
ID
[Type]やType!は修飾子であって型ではない
objectというキーワードはない
他の型では「Enum型」は「enum」で定義するので一貫性がないmrsekut.icon
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!
}
リスト
e.g. [String]
!の位置がややこしい
table:ややこい
GraphQL Schema TypeScript記法で表現するなら
[Int] null | (int|null)[]
[Int!] null | int[]
[Int]! (int|null)[]
[Int!]! int[] ←基本これをつかうはず
一番使うやつが一番書くのダルいというデザインmrsekut.icon