Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GraphQLでAPI開発 やってみよう!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Azusa Okamoto
August 17, 2025
Programming
0
17
GraphQLでAPI開発 やってみよう!
2025/8/16に開催されたTECH WOMAN KANSAIの3周年イベントで、GraphQLのハンズオンを行った際の資料です!
ハンズオン講師を担当しました。
Azusa Okamoto
August 17, 2025
Tweet
Share
More Decks by Azusa Okamoto
See All by Azusa Okamoto
「わたし色」の見方で拓く世界
azunyan
0
21
ちゃんとSvelte, Hello Worldした!
azunyan
0
56
最近取り組んでいることについて喋ってみる
azunyan
0
16
フロントエンドエンジニアが関数型プログラミングに出会った話
azunyan
0
110
TECH WOMAN KANSAIの 取り組みと今後~2024年の振り返りと2025年へ~
azunyan
0
94
Go初心者が開発やってみた!
azunyan
1
560
デブサミウーマン2023 アウトプットって何が良いの?
azunyan
0
1.2k
個人的に楽しかった実装2022
azunyan
0
150
TestCaféでE2Eテスト!
azunyan
0
150
Other Decks in Programming
See All in Programming
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
280
Claude Codeログ基盤の構築
giginet
PRO
7
2.9k
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.2k
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
270
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
380
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
180
Ruby x Terminal
a_matsuda
7
590
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
270
Understanding Apache Lucene - More than just full-text search
spinscale
0
100
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.6k
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
540
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
69
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
630
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Building an army of robots
kneath
306
46k
Side Projects
sachag
455
43k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Everyday Curiosity
cassininazir
0
160
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
230
Transcript
GraphQL でAPI 開発 やってみよう! あずにゃん TECH WOMAN KANSAI 3 周年〜GraphQL
ハンズオン勉強会〜
今日やること 1.GraphQL って何? 2. もうちょっと細かく... ! 3. やってみよう!~ハンズオンに挑戦!~
GraphQLって何?
GraphQLって何? API 開発のためのクエリ言語 クエリ=リクエスト( データ取得・更新など) REST API の代替とも言われている
GraphQLって何? 単一エンドポイント 独自の型システムを持っている Query とMutation( とSubscription) がある 欲しいデータだけを取得できる
RESTとの比較~REST API~ 複数のエンドポイント リソースごとに決められている HTTP メソッドを使う 決められた構造でデータを返す いらないデータが含まれることも
もうちょっと細かく... !
主な登場人物 Resolver Query やMutation の実装 スキーマ定義 どんなデータを返すのか?
主な登場人物~Resolver~ Query データ取得の処理で使う HTTP メソッドでいう、GET Mutation データ更新系の処理で使う HTTP メソッドでいう、POST 等のGET
以外
主な登場人物~スキーマ定義~ データの型を定義する SDL(Schema Definition Language) を用いて記 述
SDL(Schema Definition Language) スカラ型 プリミティブな値 オブジェクト型 Enum 型
SDL(Schema Definition Language) List 型 配列 型修飾子の1 つ Non-Null 型
null を許容しない、 「! 」を付ける 型修飾子の1 つ
SDL(Schema Definition Language) TypeScript で使う型とはちょっと違う 数値型 Typescript : number SDL
: Int 配列( 例えば文字列の配列) TypeScript : string[] SDL : [String]
スキーマの例
さっそくやってみよう! ~ハンズオンに挑戦!~
ハンズオンでやること! 1.Resolver の実装(API 実装) Mutation Query 2.API 実行(Query )
作業の準備! Repository をフォーク npm install して、必要なライブラリ等を導入 backend frontend
参考情報~使用技術(バックエンド)~ TypeScript( 言語) Express(FW) GraphQL Apollo Server Prisma Supabase(DB)
参考情報~使用技術(フロントエンド)~ TypeScript( 言語) React( ライブラリ・FW) GraphQL GraphQL Codegen Apollo Client
styled-components
まずはGraphQL見てみる! GraphQL サーバを立ち上げてみよう! backend のpackage.json のstart スクリプト
実装の手順 バックエンド実装 Resolver 実装(Mutation/Query) フロントエンド実装 Query つなぎこみ ※ 今回は、Mutation のつなぎこみは省略。
ご参加ありがとう ございました!