Slide 1

Slide 1 text

GraphQL-Rubyの実戦投入と知見 https://twitter.com/yotuba_eng

Slide 2

Slide 2 text

クエリを書けば欲しい形のJSONを返してくれるAPI
 
 
 
 
 
 
 
 GraphQLとは?

Slide 3

Slide 3 text

フロントエンドからのデータ取得 外部公開用APIとしても使用 弊社ではどのように使っている?

Slide 4

Slide 4 text

エンドポイントが一つになる バージョンレス 問い合わせるクエリをユーザー側が作れる RESTとの違いは?何が便利?

Slide 5

Slide 5 text

✖ 全てのユーザーが同じ操作はできない ✖ 社内用と外部公開用で取得できる情報を変えたい サービスとしてやらなければいけないこと

Slide 6

Slide 6 text

問い合わせるクエリをユーザー側が作れる ↓ 無限に深いデータを問い合わせられたら? 見られたくないFieldに問い合わせられたら? GraphQLの弱点?

Slide 7

Slide 7 text

Query/Mutation/Subscription Queryで取得できるFieldを制限する方法 Mutationを実行できる条件を制限する方法 GraphQL-Rubyの公式に全て載っている 今日伝えたいこと:実行制御・取得制御 取得 変更 変化検知

Slide 8

Slide 8 text

Mutationの実行権限制御→ready? Mutationの実行制限の方法

Slide 9

Slide 9 text

公開用APIで表示するFieldを制限する方法

Slide 10

Slide 10 text

Type自体へのアクセスを制限する方法

Slide 11

Slide 11 text

GraphQL::Analysis::ASTを使用する connection_typeのmax_page_sizeを使用 クエリの深さとサイズを制限する方法

Slide 12

Slide 12 text

GraphQLってとっても便利! 公開APIとしても非常に優秀! クエリ楽しい!皆使おう! 最後に

Slide 13

Slide 13 text

https://techbookfest.org/product/5023805390979072 もっと知りたい方へ:無料でダウンロードできる本が!