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
JSON:API入門 / Introduction to JSON:API
Search
アクイアジャパン Acquia Japan
September 16, 2020
Programming
0
150
JSON:API入門 / Introduction to JSON:API
https://www.acquia.com/jp/resources/webinars/acquia-devchannel-vol11
アクイアジャパン Acquia Japan
September 16, 2020
Tweet
Share
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
170
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
220
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
85
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
150
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
30
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
56
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
360
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
86
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
100
Other Decks in Programming
See All in Programming
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
240
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
230
CSC509 Lecture 05
javiergs
PRO
0
300
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
460
Swift Concurrency - 状態監視の罠
objectiveaudio
2
540
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
2
580
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
Serena MCPのすすめ
wadakatu
4
1k
私はどうやって技術力を上げたのか
yusukebe
44
19k
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
11
6.8k
CSC305 Lecture 06
javiergs
PRO
0
250
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Designing for humans not robots
tammielis
254
26k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
Speed Design
sergeychernyshev
32
1.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
BBQ
matthewcrist
89
9.8k
Site-Speed That Sticks
csswizardry
13
910
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
The Cost Of JavaScript in 2023
addyosmani
55
9k
Transcript
JSON:API ೖ Drupal ͷ Web API JSON:API ͱʁ JSON:API ΤϯυϙΠϯτ
CRUDΦϖϨʔγϣϯ ߴͳϦιʔεͷऔಘํ๏ σϞ Q&A AGENDA
ຊͷεϐʔΧʔ ΞΫΠΞδϟύϯ ؛ढ़ฌ ιϦϡʔγϣϯΤϯδχΞ ΞΫΠΞδϟύϯ ؙࢁͻ͔Δ ςΫχΧϧτϥϯεϨʔλʔ ͰͿͪΌΜͶΔ
DrupalAPI-FirstɺHeadless Architecture ʹ ྗΛೖΕ͍ͯΔʂ https://dri.es/state-of-drupal-presentation-july-2020
Drupal ͷ Web API – RESTful Web Services – REST
API – ίΞϞδϡʔϧ – JSON:API – REST API – ίΞϞδϡʔϧ – GraphQL – ΫΤϦݴޠ – ίϯτϦϏϡʔτϞδϡʔϧ
Drupal ͷ Web API – RESTful Web Services – REST
API – ίΞϞδϡʔϧ – JSON:API – REST API – ίΞϞδϡʔϧ – GraphQL – ΫΤϦݴޠ – ίϯτϦϏϡʔτϞδϡʔϧ
JSON:API ͱ - 2016ΑΓ։ൃ։࢝ - Drupal 8.7 ʙ ίΞϞδϡʔϧͱͯ͠ಋೖ -
DrupalͷϢʔβʔͱύʔϛογϣϯΛ׆༻ - JSON API ͷ༷ʹ४ڌ
JSON:API ͱ JSON API ͱ - https://jsonapi.org - JSONͰAPIΛ࡞͢ΔͨΊͷΦʔϓϯελϯμʔυͳ༷ -
ڞ༗͞Εͨنʹै͏͜ͱͰ RESTful APIΛਝ͔ͭҰ؏ͯ͠࡞ - 2016ΑΓ։ൃ։࢝ - Drupal 8.7 ʙ ίΞϞδϡʔϧͱͯ͠ಋೖ - DrupalͷϢʔβʔͱύʔϛογϣϯΛ׆༻ - JSON API ͷ༷ʹ४ڌ
JSON:APIͷΤϯυϙΠϯτ - /jsonapi/node/article શͯͷهࣄ(article)ϦιʔεΛऔಘ - /jsonapi/node/article/xxx UUID=xxx ͷهࣄΛऔಘ - /jsonapi/node/article/xxx/uid
هࣄ(UUID=xxx)ͱඥ͘ߘऀ(Ϣʔβʔ)ϦιʔεΛऔಘ
None
JSON:API ͷ CRUD ΦϖϨʔγϣϯ GET POST PATCH DELETE ➔Ϧιʔεͷऔಘʢ୯Ұ or
ෳʣ ➔৽͍͠ϦιʔεΛ࡞ ➔طଘͷϦιʔεͷߋ৽ ➔طଘͷϦιʔεͷআ PUTະରԠ GETͷΈෳϦιʔεΛѻ͑Δ
ߴͳϦιʔεऔಘํ๏ - ϑΟϧλϦϯά - ιʔτ - ϖʔδωʔγϣϯ
ߴͳϦιʔεͷऔಘํ๏ɿϑΟϧλϦϯά GET /jsonapi/node/article?filter[label-a][condition][path]=title &filter[label-a][condition][operator]=CONTAINS &filter[label-a][condition][value]=react λΠτϧͰߜΓࠐΈ GET /jsonapi/node/article?filter[label-b][condition][path]=created &filter[label-b][condition][operator]=< &filter[label-b][condition][value]=1598713200
ͰߜΓࠐΈ
ߴͳϦιʔεͷऔಘํ๏ɿιʔτ GET /jsonapi/node/article?sort[sort-title][path]=title λΠτϧͰιʔτʢະࢦఆ࣌ঢॱʣ GET /jsonapi/node/article?sort[sort-title][path]=title &sort[sort-title][direction]=DESC λΠτϧͰ߱ॱιʔτ
ߴͳϦιʔεͷऔಘํ๏ɿϖʔδωʔγϣϯ GET /jsonapi/node/article?page[offset]=20 &page[limit]=10 Ґஔ20͔Β10ݸऔಘ
σϞΞϓϦέʔγϣϯͷߏ - όοΫΤϯυ - Drupal 8 - ϑϩϯτΤϯυ - React
DEMO https://github.com/DrupalizeMe/react-and-drupal-examples
JSON:API ೖ AGENDA Drupal ͷ Web API JSON:API ͱʁ JSON:API
ΤϯυϙΠϯτ CRUDΦϖϨʔγϣϯ ߴͳϦιʔεͷऔಘํ๏ σϞ Q&A
ࢀߟࢿྉ • JSON:API υΩϡϝϯτ ◦ https://www.drupal.org/docs/core-modules-and-themes/core-modules/ jsonapi-module • JSON API
◦ https://jsonapi.org • ༻ͨ͠σϞΞϓϦͷιʔείʔυ ◦ https://github.com/DrupalizeMe/react-and-drupal-examples • JSON:APIͷσϞಈը (Dries Buytaert) ◦ https://youtu.be/zEsNlAeYRn8
None