Slide 24
Slide 24 text
GraphQL の記述自由度をあえて減らし型の制約を厳しくする
- デフォルトのフィールドリゾルバに頼らせない仕組み作り
- GraphQL Code Generator で生成された型定義に対して
フィールドリゾルバを全て `Required` に型変換にする(`RequiredFieldResolvers`)
- 厳密な型チェックを実施するようにすることで、
- 一貫性のある書き方に統一できる
- さらにリゾルバに必要なフィールドが漏れていたら型エラーにできる
const userTypeResolversObject:
UserResolvers = {
userId: ({ _response }, args, ctx, info)
=>_response.userId,
name: ({ _response }, args, ctx, info) =>
_response.name,
...
}
const userTypeResolversObject: RequiredFieldResolvers<
UserResolvers
> = {
userId: ({ _response }, args, ctx, info) =>_response.userId,
name: ({ _response }, args, ctx, info) => _response.name,
...
}
リゾルバが漏れていても
型で怒られない
リゾルバが漏れていたら型エラーになる!
※実際には、より細かい設計や型のルールがあるが省略