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
Nuxt で GraphQL のクエリを送信する方法
Search
SAW
February 29, 2024
Programming
2
180
Nuxt で GraphQL のクエリを送信する方法
v-kansai Meetup #15 の発表資料です。
SAW
February 29, 2024
Tweet
Share
More Decks by SAW
See All by SAW
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
84
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
250
OSS contributor への第一歩を踏み出すまでの物語
azuki
1
170
Eloquent で relation を扱う基礎
azuki
0
98
メイキング・オブ・PHPカンファレンス 〜PHPカンファレンス関西2024の運営スタッフが語る舞台裏〜
azuki
0
67
ブラウザでテキストを読み上げる
azuki
0
110
計画性ないけれどノリと勢いだけで地方でも勉強会を開くすゝめ 〜 PHPカンファレンス関西2024 の懇親会 LT のその後 〜
azuki
0
55
GraphQL 入門
azuki
1
110
Other Decks in Programming
See All in Programming
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
610
Realtime API 入門
riofujimon
0
150
Ethereum_.pdf
nekomatu
0
470
Djangoの開発環境で工夫したこと - pre-commit / DevContainer
hiroki_yod
1
120
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
5
360
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
4
1.7k
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
ヤプリ新卒SREの オンボーディング
masaki12
0
130
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
3
1.2k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.8k
Jakarta EE meets AI
ivargrimstad
0
740
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Rails Girls Zürich Keynote
gr2m
94
13k
A better future with KSS
kneath
238
17k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Done Done
chrislema
181
16k
Transcript
/VYUͰ(SBQI2-ͷΫΤϦΛૹ৴͢Δํ๏ 3FCPPUWLBOTBJ.FFUVQ 4"8
$(whoami) ࢯ໊Ճ౻फҰ ࡀ ϋϯυϧωʔϜ4"8 ؔͷ*5ΤϯδχΞίϛϡχςΟͷ͔͠୲ ࣗশ େࡕࡏॅɾѪग़ 9
چ5XJUUFS !B[VLJ@FBUFS ಘҙ8FCΞϓϦέʔγϣϯ։ൃ 7VF -BSBWFM 2
ಈػ/VYU͔Β(SBQI2-ͷΫΤϦΛૹ৴͍ͨ͠ /VYUͰϑϩϯτΤϯυΛ։ൃ όοΫΤϯυ-BSBWFMͰ։ൃ "1*(SBQI2-Λར༻ /VYU͔Β(SBQI2-ͷΫΤϦΛૹ৴ͯ͠σʔλΛऔಘ͍ͨ͠ /VYU͚ͷ(SBQI2-$MJFOUΛར༻͍ͨ͠ 3 ϑϩϯτΤϯυ όοΫΤϯυ ϦΫΤετ
Ϩεϙϯε
/VYUͷͨΊͷ(SBQI2-ΫϥΠΞϯτ /VYUͷެࣜυΩϡϝϯτͷ/VYU.PEVMFT͔Βݕࡧ /VYU(SBQI2-$MJFOU /VYUͷͨΊͷHSBQIRMSFRVFTU (SBQI2-$PEF(FOFSBUPSͷ࠷খߏ /VYU"QPMMP /VYUͷͨΊͷ"QPMMP$MJFOU (SBQI2-3FRVFTU.PEVMF ࠷খͷ(SBQI2-ΫϥΠΞϯτͷͨΊͷαϙʔτΛ͢ΔͨΊͷ/VYUϞδϡʔϧ 4
/VYU(SBQI2-$MJFOUͷಛ (SBQI2-ͷΫΤϦΛผϑΝΠϧʹهड़ 7VFͷίʔυ͔Β(SBQI2-ͷΫΤϦΛՄೳ ݸਓతਪ͠ϙΠϯτ ΄΅ઃఆͳ͠Ͱར༻Մೳ nuxt.config.tsͷmodulesͱڥมͷઃఆͷΈ 5ZQF4DSJQUΛશαϙʔτ (SBQI2-ͷΫΤϦΛͱʹϨεϙϯεͷܕใΛࣗಈੜ 5
/VYU(SBQI2-$MJFOUͷجຊతͳ͍ํ (SBQI2-ͷΫΤϦΛهड़ ϑΝΠϧͷ֦ுࢠ.gql·ͨ.graphql useAsyncGql()Λݺͼग़͠ ΫΤϦoperation͔Βࢦఆ 6 query getCountries
{ countries { code name } } const { data } = await useAsyncGql({ operation: 'getCountries', }); (SBQI2-ͷΫΤϦ໊Λ VTF"TZOD(RM ͷ PQFSBUJPOʹࢦఆ
ඞཁ࠷খݶͷઃఆ nuxt.config.tsͷmodulesΛՃ (SBQI2-αʔόʔͷ63-Λ֨ೲ͢ΔڥมΛઃఆ (SBQI2-αʔόʔͷ63-Λ.envͷGQL_HOSTʹઃఆ 7 export default defineNuxtConfig({ modules: ['nuxt-graphql-client'],
}); nuxt.config.ts GQL_HOST='https://localhost/graphql' .env
5ZQF4DSJQUશαϙʔτͷڧΈ (SBQI2-ͷΫΤϦ͔Βฦ٫ܕͷใΛࣗಈੜ useAsyncGql()ͷฦΓͷ5ZQF)JOUJOHʹө 8 (SBQI2-$PEF(FOFSBUPSͰ ΫΤϦ͔ΒܕใΛࣗಈੜ
(SBQI2-ͷWBSJBCMFTͷࢦఆ useAsyncGql()ͷҾ͔ΒมΛࢦఆ ΫΤϦมvariables͔Βࢦఆ ΫΤϦͷม͕5ZQF)JOUJOHʹө 9 (SBQI2-$PEF(FOFSBUPSͰ ΫΤϦม͔ΒܕใΛࣗಈੜ
ࠔͬͨ ެࣜυΩϡϝϯτ͕ಡΈͮΒ͍ ެࣜυΩϡϝϯτҎ֎ͷใগͳΊ ϑΝΠϧͷΞοϓϩʔυ͕࣮Ͱ͖ͳͦ͞͏ ͦͦґଘύοέʔδͷHSBQIRMSFRVFTU͕ϑΝΠϧΞοϓϩʔυʹඇରԠ ϛυϧΣΞΛ࣮ͯ͠ΞοϓϩʔυΛ࣮ݱ͢Δ͜ͱՄೳ /YVU(SBQI2-$MJFOUʹHSBQIRMSFRVFTUͷϛυϧΣΞΛΈࠐΊͳͦ͞͏ 10
૯ׅ /VYU(SBQI2-$MJFOUʹ͍ͭͯհ (SBQI2-ͷΫΤϦΛ7VFϑΝΠϧ͔Βͯ͠هड़ ΄΅ઃఆͳ͠Ͱར༻Մೳ 5ZQF4DSJQUͷશαϙʔτͰ5ZQF)JOUJOH͕ར༻Մೳ /VYU(SBQI2-$MJFOUΛ͏্Ͱࠔͬͨ υΩϡϝϯτ͕ಡΈͮΒ͍ ϑΝΠϧΞοϓϩʔυʹະରԠͬΆ͍ 11
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠