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
RESTful Web Application by Laravel
Search
よしたろう
PRO
May 23, 2022
Programming
0
29
RESTful Web Application by Laravel
LaravelでRESTfulなアプリケーションを実現するために必要な知識と設計思想、HTTPメソッドと安全性/パワーを理解し、その重要性を理解する。
よしたろう
PRO
May 23, 2022
Tweet
Share
More Decks by よしたろう
See All by よしたろう
銀河英雄伝説・攻殻機動隊 から人としてのあり方を学んだ
yoshitaroyoyo
PRO
1
14
視点の探索と取得〜見える世界が変わるとは何か?何が見えるようになるのか?
yoshitaroyoyo
PRO
1
53
フォロワーを活かすリーダー リーダーを活かすフォロワー
yoshitaroyoyo
PRO
1
92
対話・多様性が イノベーション・情報精緻化・組織学習に繋がる
yoshitaroyoyo
PRO
1
38
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方
yoshitaroyoyo
PRO
3
1.5k
世界のTOPが世界をどう捉えているのか知りたくないっすか?
yoshitaroyoyo
PRO
1
45
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
PRO
1
230
組織学習とアジャイル
yoshitaroyoyo
PRO
1
280
スクラムマスターのお仕事.pdf
yoshitaroyoyo
PRO
0
130
Other Decks in Programming
See All in Programming
混沌とした例外処理とエラー監視に秩序をもたらす
morihirok
13
2.2k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
930
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
0
100
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
940
return文におけるstd::moveについて
onihusube
1
1.4k
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
DMMオンラインサロンアプリのSwift化
hayatan
0
180
AHC041解説
terryu16
0
380
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
240
Rubyでつくるパケットキャプチャツール
ydah
0
170
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
240
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
BBQ
matthewcrist
85
9.4k
Faster Mobile Websites
deanohume
305
30k
Unsuck your backbone
ammeep
669
57k
Being A Developer After 40
akosma
89
590k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Transcript
RESTful Web Application by Laravel LTձ in phpษڧձ @yoshitaro_yoyo
1. ࠓͷඪ 2. REST 3. LaravelͱRESTful 4. HTTPϝιου 5. ҆શੑͱႈੑ
6. খωλ ࠓͷΞδΣϯμ
1.ࠓͷඪ 2. REST 3. LaravelͱRESTful 4. HTTPϝιου 5. ҆શੑͱႈੑ 6.
খωλ ࠓͷΞδΣϯμ
•Laravel Ͱ RESTful ͳ Web ΞϓϦ Λ࡞ΕΔ •֤ HTTP ϝιουͷ͍͚
•҆શੑͱႈੑɺͦͯͦ͠ͷॏཁੑ ̍.ࠓͷඪ
1. ࠓͷඪ 2.REST 3. LaravelͱRESTful 4. HTTPϝιου 5. ҆શੑͱႈੑ 6.
খωλ ࠓͷΞδΣϯμ
RESTful ͳ Web ΞϓϦͱ 2. REST
RESTݪଇʹଇͬͨWeb ΞϓϦ
What is RESTʁ
1.ΞυϨεՄೳੑ ࠷ॏཁɻURIΛ௨͡ɺϦιʔεΛతʹࢦࣔ͢͜͠ͱ͕Ͱ͖Δੑ࣭ɻͯ͢ͷใ͕ҰҙͳURIͰදݱ͞ ΕΔΑ͏ʹ͢Δ͜ͱɻ͜Ε͕ແ͍ͱଓੑͱ౷ҰΠϯλʔϑΣʔε࣮ݱͰ͖·ͤΜ 2.ଓੑ ͋ΔϦιʔεʹʮผͷϦιʔεͷϦϯΫʯΛؚΊΔ͜ͱ͕Ͱ͖ɺϦϯΫΛؚΊΔ͜ͱͰʮผͷϦιʔεʹ ଓ͢Δ͜ͱʯ͕Ͱ͖Δ͜ͱɻ 3.౷ҰΠϯλʔϑΣʔε Ϧιʔεͷऔಘɺ࡞ɺߋ৽ɺআͱ͍ͬͨૢ࡞ɺͯ͢HTTPϝιουΛར༻͢Δ͜ͱɻ͜ͷ߹ͷಘ ʮGETʯʮPOSTʯʮPUTʯɺআʮDELETEʯ্ه̎ͭͷੑ࣭͕อূ͞ΕͯॳΊͯՁͷग़Δੑ࣭ 4.εςʔτϨεੑ
ͯ͢ͷHTTPϦΫΤετ͕શʹ͍ͯ͠Δੑ࣭Ͱ͋ΓɺηογϣϯͳͲͷঢ়ଶཧߦΘΕͳ͍͜ ͱɻ࣮ࡍͦ͜·ͰॏཁͰͳ͍ɻWebαʔϏεͰCookieʹΑΔηογϣϯཧ͕ඞਢ͔ͩΒ RESTͷ4ݪଇ
•REpresentational State Transferͷུ •Representation දݱ •State = ঢ়ଶ •Transfer
= సૹ •දݱͱɺWebαʔόͷૹ৴͢ΔResourcesͷܗࣜ •ResourcesͱɺWeb্ʹଘࡏ͢Δใɺσʔλͷ͜ͱ REST
•Web্ʹଘࡏ͢Δɺ໊લΛ࣋ͬͨ͋Γͱ͋ΒΏΔใ •ੈքதͷResourcesɺURIͰҰҙͷ໊લΛ࣋ͭ •URIͱʮUniform Resource Identi fi erʯͷུ ɹ౷ҰϦιʔεࣝผࢠͱ͍͍ɺResourcesΛࣝผ͢ΔID •URIΛ༻͍Δ͜ͱͰɺϓϩάϥϜResources͕දݱ͢ ΔใʹΞΫηεՄೳʢΞυϨεՄೳੑʣ
ex. http://www.example.com:8080/news/index.htm? page=2&msg=yes#hot ResourcesͬͯԿʁʁ
None
•Web্ʹଘࡏ͢Δɺ໊લΛ࣋ͬͨ͋Γͱ͋ΒΏΔใ •ੈքதͷResourcesɺURIͰҰҙͷ໊લΛ࣋ͭ •URIͱʮUniform Resource Identi fi erʯͷུ ɹ౷ҰϦιʔεࣝผࢠͱ͍͍ɺResourcesΛࣝผ͢ΔID •URIΛ༻͍Δ͜ͱͰɺϓϩάϥϜResources͕දݱ͢ ΔใʹΞΫηεՄೳʢΞυϨεՄೳੑʣ
ex. http://www.example.com:8080/news/index.htm? page=2&msg=yes#hot ResourcesͬͯԿʁʁ
1. ࠓͷඪ 2. REST 3.Laravelͱ RESTful 4. HTTPϝιου 5. ҆શੑͱႈੑ
6. খωλ ࠓͷΞδΣϯμ
• Routing ಛఆΞυϨε͕ಛఆHTTPϝιουͰϦΫ Τετ͞Εͨࡍɺࢦఆͨ͠ίϯτϩʔϥͷ ࢦఆͨ͠ϝιουΛݺͼग़͢ͱ͍͏Έ 3. LaravelͱRESTful ͳ Web ΞϓϦ
REST Controller ͱ Routing
REST Ͱͳ͍ Web ΞϓϦ RESTful ͳ Web ΞϓϦ
RESTful ͳ Web ΞϓϦ
RESTful ͳ Web ΞϓϦ
1. ࠓͷඪ 2. REST 3. LaravelͱRESTful 4.HTTPɹɹ ϝιου 5. ҆શੑͱႈੑ
6. খωλ ࠓͷΞδΣϯμ
4. HTTPϝιου ϝιου ҙຯ (&5 Ϧιʔεͷऔಘ 1045 Ϧιʔεͷ࡞ɺσʔλՃɺͦͷଞॲཧ 165 Ϧιʔεͷ࡞ɺߋ৽
1"5$) Ϧιʔεͷ෦ஔ %&-&5& Ϧιʔεͷআ )&"% Ϧιʔεͷϔομ ϝλσʔλͷऔಘ 015*0/4 Ϧιʔε͕αϙʔτ͍ͯ͠Δϝιουͷऔಘ 53"$& ϓϩΩγಈ࡞ͷ֬ೝ $0/&$5 ϓϩΩγಈ࡞ͷτϯωϧଓͷมߋ $36%໊ ҙຯ ϝιου ʢࢀߟʣ42- $SFBUF ࡞ 1045 165 JOTFSU 3FBE ಡΈࠐΈ (&5 TFMFDU 6QEBUF ߋ৽ 165 1"5$) VQEBUF %FMFUF আ %&-&5& EFMFUF
Μʁ
4. HTTPϝιου ϝιου ҙຯ (&5 Ϧιʔεͷऔಘ 1045 Ϧιʔεͷ࡞ɺσʔλՃɺͦͷଞॲཧ 165 Ϧιʔεͷ࡞ɺߋ৽
1"5$) Ϧιʔεͷ෦ஔ %&-&5& Ϧιʔεͷআ )&"% Ϧιʔεͷϔομ ϝλσʔλͷऔಘ 015*0/4 Ϧιʔε͕αϙʔτ͍ͯ͠Δϝιουͷऔಘ 53"$& ϓϩΩγಈ࡞ͷ֬ೝ $0/&$5 ϓϩΩγಈ࡞ͷτϯωϧଓͷมߋ $36%໊ ҙຯ ϝιου ʢࢀߟʣ42- $SFBUF ࡞ 1045 165 JOTFSU 3FBE ಡΈࠐΈ (&5 TFMFDU 6QEBUF ߋ৽ 165 1"5$) VQEBUF %FMFUF আ %&-&5& EFMFUF
4. HTTPϝιου ϝιου ҙຯ (&5 Ϧιʔεͷऔಘ 1045 Ϧιʔεͷ࡞ɺσʔλՃɺͦͷଞॲཧ 165 Ϧιʔεͷ࡞ɺߋ৽
1"5$) Ϧιʔεͷ෦ஔ %&-&5& Ϧιʔεͷআ )&"% Ϧιʔεͷϔομ ϝλσʔλͷऔಘ 015*0/4 Ϧιʔε͕αϙʔτ͍ͯ͠Δϝιουͷऔಘ 53"$& ϓϩΩγಈ࡞ͷ֬ೝ $0/&$5 ϓϩΩγಈ࡞ͷτϯωϧଓͷมߋ $36%໊ ҙຯ ϝιου ʢࢀߟʣ42- $SFBUF ࡞ 1045 165 JOTFSU 3FBE ಡΈࠐΈ (&5 TFMFDU 6QEBUF ߋ৽ 165 1"5$) VQEBUF %FMFUF আ %&-&5& EFMFUF
4. HTTPϝιου ϝιου ҙຯ (&5 Ϧιʔεͷऔಘ 1045 Ϧιʔεͷ࡞ɺσʔλՃɺͦͷଞॲཧ 165 Ϧιʔεͷ࡞ɺߋ৽
1"5$) Ϧιʔεͷ෦ஔ %&-&5& Ϧιʔεͷআ )&"% Ϧιʔεͷϔομ ϝλσʔλͷऔಘ 015*0/4 Ϧιʔε͕αϙʔτ͍ͯ͠Δϝιουͷऔಘ 53"$& ϓϩΩγಈ࡞ͷ֬ೝ $0/&$5 ϓϩΩγಈ࡞ͷτϯωϧଓͷมߋ $36%໊ ҙຯ ϝιου ʢࢀߟʣ42- $SFBUF ࡞ 1045 165 JOTFSU 3FBE ಡΈࠐΈ (&5 TFMFDU 6QEBUF ߋ৽ 165 1"5$) VQEBUF %FMFUF আ %&-&5& EFMFUF ͬͯΔ͜ͱҰॹʁ
PUT ϝιουͱ POST ϝιουͷҧ͍ POST PUT Ϧιʔεͷ ࡞ ⭕ ⭕
Ϧιʔεͷ 63*ࢦఆ ❌ ⭕ 63*ͷ ܾఆݖ αʔόଆ ΫϥΠΞϯτଆ αʔόͱͷ ݁߹ ૄ ີ ͍ͯΔ 8FCαʔϏε 5XJUUFS 8JLJQFEJB جຊతͳ ༻ํ๏ Ϧιʔε৽ن࡞ Ϧιʔεߋ৽
None
1. ࠓͷඪ 2. REST 3. LaravelͱRESTful 4. HTTPϝιου 5.҆શੑͱɹɹɹɹ ႈੑ
6. খωλ ࠓͷΞδΣϯμ
5. ҆શੑͱႈੑ ҆શੑ ႈੑ Ϧιʔεͷঢ়ଶΛมԽͤͣ͞ ಡΈऔΓઐ༻ͷͷɻ ϦΫΤετͯ͠୯ʹͦͷ࣌Ͱ ͷϦιʔεͷදݱΛऔಘ͍ͯ͠Δ ͚ͩɻ(&5҆શ ಉ͡ૢ࡞Λ܁Γฦͯ݁͠Ռ͕ಉ͡
ˣ ʮಉҰύϥϝʔλʔͰճҎ্Ϧ ΫΤετͯ͠ɺϦιʔεͷঢ়ଶ͕ ಉ͡Ͱ͋Δ͜ͱʯ 165%&-&5&ႈ ΫϥΠΞϯτ͕ະͷ63*ʹΞΫ ηε͕ͯ͠ͳ͍͜ͱ͋Δఔ อূͰ͖Δ γεςϜݎ࿚ੑɺใ߹ੑɺΫ ϥΠΞϯτʹϦΫΤετͷϦτϥ ΠՄ൱Λ௨
֤HTTPϝιουͷରԠ ҆શੑ ႈੑ GET ⭕ ⭕ POST ❌ ❌ PUT
❌ ⭕ DELETE ❌ ⭕ HEAD ⭕ ⭕
ຊདྷͷʮႈʯͷత WebServer WebClient
ຊདྷͷʮႈʯͷత WebServer WebClient ϦΫΤετ
ຊདྷͷʮႈʯͷత WebServer WebClient ϦΫΤετ ᶃϦΫΤετ͠ޭ
ຊདྷͷʮႈʯͷత WebServer WebClient ϦΫΤετ ᶃϦΫΤετ͠ޭ
ຊདྷͷʮႈʯͷత WebServer WebClient ϦΫΤετ ❌ ᶃϦΫΤετ͠ޭ
ຊདྷͷʮႈʯͷత WebServer WebClient ᶄ௨৴োʹΑΓ Ϩεϙϯε͕ಧ͔ͳ͍ ϦΫΤετ ❌ ᶃϦΫΤετ͠ޭ
ຊདྷͷʮႈʯͷత WebServer WebClient ᶄ௨৴োʹΑΓ Ϩεϙϯε͕ಧ͔ͳ͍ ϦΫΤετ ❌ ϦΫΤετϦτϥΠ ᶃϦΫΤετ͠ޭ
ຊདྷͷʮႈʯͷత WebServer WebClient ᶄ௨৴োʹΑΓ Ϩεϙϯε͕ಧ͔ͳ͍ ϦΫΤετ ❌ ϦΫΤετϦτϥΠ ᶅαʔόϦτϥΠʹΑΔ Ϧιʔεͷෆ߹͔Βอޢ
͠ͳ͍͚ͯ͘ͳ͍ ᶃϦΫΤετ͠ޭ
ຊདྷͷʮႈʯͷత WebServer WebClient ᶄ௨৴োʹΑΓ Ϩεϙϯε͕ಧ͔ͳ͍ ϦΫΤετ ❌ ϦΫΤετϦτϥΠ ᶅαʔόϦτϥΠʹΑΔ Ϧιʔεͷෆ߹͔Βอޢ
͠ͳ͍͚ͯ͘ͳ͍ ᶆϦτϥΠʹΑΔϦιʔε ͷ߹ੑ͕อূ͞Εͳͯ͘ ΉΈʹϦτϥΠͰ͖ͳ͍ ᶃϦΫΤετ͠ޭ
ຊདྷͷʮႈʯͷత WebServer WebClient ᶄ௨৴োʹΑΓ Ϩεϙϯε͕ಧ͔ͳ͍ ϦΫΤετ ❌ ϦΫΤετϦτϥΠ ᶅαʔόϦτϥΠʹΑΔ Ϧιʔεͷෆ߹͔Βอޢ
͠ͳ͍͚ͯ͘ͳ͍ ᶆϦτϥΠʹΑΔϦιʔε ͷ߹ੑ͕อূ͞Εͳͯ͘ ΉΈʹϦτϥΠͰ͖ͳ͍ ᶃϦΫΤετ͠ޭ ႈੑ
ຊདྷͷʮႈʯͷత WebServer WebClient ᶄ௨৴োʹΑΓ Ϩεϙϯε͕ಧ͔ͳ͍ ϦΫΤετ ❌ ϦΫΤετϦτϥΠ ᶅαʔόϦτϥΠʹΑΔ Ϧιʔεͷෆ߹͔Βอޢ
͠ͳ͍͚ͯ͘ͳ͍ ᶆϦτϥΠʹΑΔϦιʔε ͷ߹ੑ͕อূ͞Εͳͯ͘ ΉΈʹϦτϥΠͰ͖ͳ͍ ᶃϦΫΤετ͠ޭ ႈੑ ಉ͡ૢ࡞Λ܁Γฦͯ݁͠Ռ͕ಉ͡ ಉҰύϥϝʔλʔͰճҎ্ϦΫΤετͯ͠ɺ
ຊདྷͷʮႈʯͷత WebServer WebClient ᶄ௨৴োʹΑΓ Ϩεϙϯε͕ಧ͔ͳ͍ ϦΫΤετ ❌ ϦΫΤετϦτϥΠ ᶅαʔόϦτϥΠʹΑΔ Ϧιʔεͷෆ߹͔Βอޢ
͠ͳ͍͚ͯ͘ͳ͍ ᶆϦτϥΠʹΑΔϦιʔε ͷ߹ੑ͕อূ͞Εͳͯ͘ ΉΈʹϦτϥΠͰ͖ͳ͍ ᶃϦΫΤετ͠ޭ ႈੑ ಉ͡ૢ࡞Λ܁Γฦͯ݁͠Ռ͕ಉ͡ ಉҰύϥϝʔλʔͰճҎ্ϦΫΤετͯ͠ɺ Ϧιʔεͷঢ়ଶ͕ ಉ͡Ͱ͋Δ͜ͱ
1. ࠓͷඪ 2. REST 3. LaravelͱRESTful 4. HTTPϝιου 5. ҆શੑͱႈੑ
6.খωλ ࠓͷΞδΣϯμ
1. HTMLͷFORMͰࢦఆͰ͖ΔͷGETͱ POST͚ͩ 2. AλάجຊతʹGET͔͑͠ͳ͍ 3. ValidationΤϥʔͷΓGETͷΈ 4. ཧআDELETEͰͳ͘PUT͕దʁ 6.
খωλ
༨ஊɺ࠷ޙʹ 2005ɺGoogle͕ϦϦʔεͨ͠ͱ͋Δπʔϧɻ Web্ʹσʔλΛআ͢ΔαʔόॲཧΛGETϝιουͰड͚͚͍ͯͨ ͨΊ(GETͰDELETE࣮ͨ͠)ΞϓϦ͕ଟଘࡏ͍ͯͨ͠ɻͦΕΒ͕Google ͷΫϩʔϥʹิ͞Εͨ݁ՌɺେྔʹσʔλΛফ͞Εͯ͠·͏ͱ͍͏͜ͱ͕ ى͖ͨɻGETͰࣄલʹͱ͋ΔϦιʔεΛऔಘ͢Δ༷ͩͬͨͨΊGETϝ ιουͰϦιʔε͕আ͞Εͯ͠·ͬͨɻ ݪҼιϑτΣΞͰͳ͘ɺ ᶃWeb্ʹGETΛ্هͷΑ͏ʹޡ༻͢ΔΞϓϦͰᷓΕ͍ͯͨ͜ͱᶄGoogle ͕ݱ࣮ͷWebʹରԠ͠ͳ͍πʔϧΛϦϦʔεͨ͜͠ͱ
͜ͷ2ͩͬͨɻ POST-Redirect-GETɺ͍ΘΏΔPRGύλʔϯ https://qiita.com/furi/items/a32c106e9d7c4418fc9d
ͦΜͳΞϓϦ࡞Βͳ͍Α͏ ʹ͠·͠ΐ͏
ޚਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠
None
What is RESTful Web APIʁ ݫ֨ͳఆٛͳ͍͕ɺٛʹHTTPϓϩτίϧΛ༻͍ͯωοτϫʔΫ ӽ͠ʹݺͼग़͢ΞϓϦέʔγϣϯؒɺγεςϜؒͷΠϯλʔϑΣʔε
API ͱ Web API ͷҧ͍ API Web API ൺ ֱ
ද Application Programming Interface Web API ֓ཁ ػೳΛ͏૭ޱ OSɾϛυϧΣΞɾΞϓϦ͕ ͦͷଞͷϓϩάϥϜ͔Β ࣗͷػೳΛݺͼग़ͨ͢Ίʹ ఏڙ͢Δ૭ޱʢͷΑ͏ͳͷʣ Πϯλʔωοτ ܦ༝ͷ"1* Ͳ͜ ͔Β ಉ͡1$ɺ͘͠ -"/ͳͲͷดͨ͡ ωοτϫʔΫܦ༝ Πϯλʔωοτ ܦ༝ ༻ ٕज़ C#ɺC++ɺ7# ͳͲͷ։ൃݴޠ RPC Net Frame ͳͲ SOAPɺREST ͳͲ
API ͱ Web API ͷҧ͍ ※ܦΫϩεςοΫΑΓҾ༻
˒ϝϦοτ ΞϓϦέʔγϣϯͷதͷϦιʔε͕URIͰࣔͤΔɻ ɹΞυϨεཝʹೖྗ͢ΕɺͦͷϦιʔεΛࢀরͰ͖Δɻ ɹ˒ͲͷϦιʔεΛૢ࡞͠Α͏ͱ͍ͯ͠Δ͔͕Θ͔Δɻ URIʹنଇ͕ੜ·ΕΔ͜ͱͰɺར༻͢Δ։ൃऀָ͕ʹͳΔɻ ɹ˒কདྷఆ͞ΕΔγεςϜنͷ૿େʹରԠՄೳͳઃܭͰ͋Δɻ εςʔτϨεʹ͢Δ͜ͱͰɺεέʔϥϏϦςΟ্͕ɻ ɹ˒ΞΫηεͷूதʹ͍͑͢ߏʹͰ͖Δɻ ౷߹ͷ૬ରతͳ༰қ͞ ɹ˒ඪ४తͳσʔλϑΥʔϚοτ(XMLJSON)Λѻ͏͜ͱͰɺ
ɹɹଞγεςϜͱͷ࿈ܞ͕༰қʹͳΔɻ ɹ˒RESTʹج͍ͮͨWebΞϓϦͰɺΠϯλϑΣʔε͕ݻఆ͞Ε͍ͯΔҝ ɹɹޓੑͷ͕ൃੜ͠ͳ͍ɻ ඪ४తͳAPIͷఏڙ ɹRESTfulAPIΛެ։͢Δ͜ͱͰɺ ɹඪ४తͳσʔλϑΥʔϚοτΛ͍ɺଟ༷ͳΞϓϦέʔγϣϯΛఏڙ͢Δ͜ͱ͕Ͱ͖Δɻ ˒σϝϦοτ ɾRESTͷ੍ ɹ˒ϓϩάϥϛϯάݴޠϦιʔεࢦͰͳ͍ͷͰɺURIͱϚοϐϯά͢ΔίʔυԚ͘ͳΓ͕ͪ ɹREST APIΛϋΠύʔςΩετۦಈʹ͢Δͷൺֱత͍͠ɻ RESTful Web APIͱ