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
Azusa Okamoto
August 17, 2025
Programming
40
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GraphQLでAPI開発 やってみよう!
2025/8/16に開催されたTECH WOMAN KANSAIの3周年イベントで、GraphQLのハンズオンを行った際の資料です!
ハンズオン講師を担当しました。
Azusa Okamoto
August 17, 2025
More Decks by Azusa Okamoto
See All by Azusa Okamoto
「わたし色」の見方で拓く世界
azunyan
0
29
ちゃんとSvelte, Hello Worldした!
azunyan
0
77
最近取り組んでいることについて喋ってみる
azunyan
0
22
フロントエンドエンジニアが関数型プログラミングに出会った話
azunyan
0
120
TECH WOMAN KANSAIの 取り組みと今後~2024年の振り返りと2025年へ~
azunyan
0
100
Go初心者が開発やってみた!
azunyan
1
580
デブサミウーマン2023 アウトプットって何が良いの?
azunyan
0
1.3k
個人的に楽しかった実装2022
azunyan
0
150
TestCaféでE2Eテスト!
azunyan
0
160
Other Decks in Programming
See All in Programming
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.4k
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
190
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
270
自作OSでスライド発表する
uyuki234
1
3.8k
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
200
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
170
霧の中の代数的エフェクト
funnyycat
1
350
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
3
4.3k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
140
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
110
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
160
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
320
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Done Done
chrislema
186
16k
The Limits of Empathy - UXLibs8
cassininazir
1
460
The Cost Of JavaScript in 2023
addyosmani
55
10k
Code Reviewing Like a Champion
maltzj
528
40k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
220
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
How to build a perfect <img>
jonoalderson
1
5.8k
Speed Design
sergeychernyshev
33
1.9k
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 のつなぎこみは省略。
ご参加ありがとう ございました!