Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
やはり俺のWeb APIは間違えている
Search
Shinichi Kozake
September 13, 2019
Technology
600
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
やはり俺のWeb APIは間違えている
社内勉強会
クラウド・マイクロサービス勉強会#4の発表資料です。
Shinichi Kozake
September 13, 2019
More Decks by Shinichi Kozake
See All by Shinichi Kozake
アーキテクトとは
kozake
0
2.5k
Ionic React でサービス開発したお話
kozake
0
200
ドキッ!失敗だらけのシステム開発
kozake
1
900
すごい大規模 たのしく作ろう
kozake
4
2.7k
KHipster ~JHipsterで始めるKotlin Web プログラミング~
kozake
0
990
Docker with JHipster
kozake
1
620
実践JHipster #jsug #sf_36
kozake
2
8k
Ionicでアプリ作ったよ!開発方法の紹介
kozake
2
1.1k
アプリ作ろうぜ! Yomoo!ってアプリを作ったよ! #kanjava
kozake
0
1.7k
Other Decks in Technology
See All in Technology
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
250
Lambda MicroVMsは常駐サーバーの代わりに なるか? Kiro Crew を動かして検証してみた / Kiro Crew on Lambda MicroVMs
k_adachi_01
2
340
KanaAI
shreyas1009
0
130
20260929_AmazonGuardDutyの検出通知メールにAWS DevOpsAgentの調査結果を追加する
yhana
1
380
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
1
260
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
550
AI感のないAWS構成図をAIエージェントに描かせたい!
sagochiko
2
480
可視化から始めたAI駆動開発_ochi_ver1.01 / AI-Driven Development Starting with Visualization_ver1.01
yayoi_dd
0
110
手を動かして実感する、Kiro が変える開発体験
inariku
0
420
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
270
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
620
20260915deck.gl-raster を使ってみた
rena1208
0
170
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
410
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Practical Orchestrator
shlominoach
192
12k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
Un-Boring Meetings
codingconduct
0
430
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
290
Transcript
Awesome Web API Design ޭ͢Δ8FC"1*σβΠϯͱ ΫϥυɾϚΠΫϩαʔϏεษڧձ
ͱ͍͏͠·ͤΜ
8FC"1*ઃܭͷ ྑॻΛಡΈ·͠ΐ͏ʂ ͋ͱͰհ͠·͢
ຊͷλΠτϧ
ΓԶͷ Web API ·͕͍ͪͬͯΔɻ ͱ͋Δ3&45ͷߟه ΫϥυɾϚΠΫϩαʔϏεษڧձ
ࣗݾհ 名前 ジョブ スキル こざけ しんいち システムアーキテクト Java 資格 アプリケーションエンジニア
テクニカルエンジニア(DB) 安全確保支援士
"CPVU3&45
8IZ3&45 "+"9Λۦͨ͠8FC։ൃ εϚʔτϑΥϯͷීٴ खܰʹࢼͤΔ༧ଌ͍͢͠
σʔλ࿈ܞ ࢄΦϒδΣΫτ 8FCαʔϏε 8FC"1* +BWB3.*ɾ&+# $03#" 9.-31$ 40"1 3&45 3&45͓खܰʂ
8IBU3&45 3&QSFTFOUBUJPOBM4UBUF5SBOTGFS ϦιʔεࢦΞʔΩςΫνϟͷ࣮ Ϧιʔεͷঢ়ଶΛදݱͨ͠ͷΛసૹ͢Δ͜ͱɻ 3&45ΞʔΩςΫνϟͱ͍͏ͷଘࡏ͠ͳ͍ɻ 3&45Ұ࿈ͷઃܭ݅ɻ
8IBU30" ͭͷ֓೦ ͭͷಛੑ Ϧιʔε ໊લ 63* දݱ ϦιʔεؒͷϦϯΫ ΞυϨεՄೳੑ εςʔτϨεੑ
ଓੑ ౷ҰΠϯλʔϑΣʔε
8IBU30" (&5VTFSTLP[BLF \ pSTU/BNF৴Ұ MBTU/BNFখञ BHF CPEZ8FJHIU
^ )551ϝιου ʹΑΔ౷Ұ*' Ϧιʔεͷ63- Ϧιʔεͷදݱ ɾ+40/ܗࣜ ɾຊޠ
ͦͷઃܭख๏30"Ͱ͔͢ʁ IUUQTqJDLSQNT;"
Α͋͘Δઃܭख๏ Ϣʔεέʔεਤ
Α͋͘Δઃܭख๏ ΞΫςΟϏςΟਤ
Α͋͘Δઃܭख๏ ը໘ۦಈઃܭ
ͦͷઃܭख๏30"Ͱ͔͢ʁ γεςϜͱར༻ऀͷڥքΛੳ͠ɺ ιϑτΣΞͷػೳ୯ҐΛநग़͢Δઃܭख๏ αʔϏεࢦ
ϦιʔεࢦͱαʔϏεࢦ Ϧιʔεࢦ αʔϏεࢦ ɾϦιʔεΛத৺ʹߟ͑Δ ɾ࣮ߦ͞ΕΔϝιουʢػೳʣ ɹΑΓϦιʔεʢσʔλϞσϧʣ ɹΛॏࢹ͢Δ ɾϦιʔε໊ࢺͰఆٛͰ͖Δ ɹʢྫ͑ɺlϏσΦͷϨϯλϧzʣ ɾػೳΛத৺ʹߟ͑Δ
ɾར༻ऀଆ͔ΒݟͨιϑτΣΞͷ ɹαʔϏεʢػೳʣͷΈ߹Θͤ ɹͰγεςϜߏஙΛ͢Δ ɾαʔϏεಈࢺͰఆٛͰ͖Δ ɹʢྫ͑ɺlϏσΦΛϨϯλϧ͢Δzʣ ɾ໊ࢺɺΦϒδΣΫτ໊ɺର୯Ґ ɹͰ"1*Λཧ͢Δ ɾಈࢺɺίϚϯυ໊ɺϝιου໊୯Ґ ɹͰ"1*Λཧ͢Δ
ϦιʔεࢦͱαʔϏεࢦ Ϧιʔεࢦ αʔϏεࢦ $MJFOU 3FTPVSDF $MJFOU 4FSWJDF (&5 1045 165
%&-&5& */70,& */70,& */70,& */70,& 4FSWJDF 4FSWJDF 4FSWJDF αʔϏε͕8FCʹ͓͚Δ31$ͳΒɺ 3&458FCʹ͓͚Δ%#.4
ͦͷΞϓϦέʔγϣϯ 3&45ʹै͏ඞཁ͋Γ·͔͢ʁ IUUQTqJDLSQNT;"
-46%TʢMBSHFTFUPGVOLOPXOEFWFMPQFSTʣͱ 44,%TʢTNBMMTFUPGLOPXOEFWFMPQFSTʣͱ͍͏֓೦ ͱ͋Δ3&45ͷߟ ୭͕͏͔Θ͔Βͳ͍-46%T͚ͷ"1*ɺ͞·͟·ͳϢʔεέʔεΛఆͯ͠ͳΔ͘ ൚༻తʹ͠ͳ͚ΕͳΒͳ͍ 44,%T͚ͷ"1*ಛఆͷ։ൃऀͦͷઌʹଘࡏ͢ΔΤϯυϢʔβʹͱͬͯศརͰ͍ ͍͢ͷʹͳΔͣ ʮඒ͠͞ʯͷఆٛେ͖͘ҧ͏ͣ ʙॻ੶ʮ8FC"1*5IF(PPE1BSUTʯQΑΓҾ༻ʙ
Αʔ͘ߟ͑ΑʙࢦେࣄͩΑʙ σʔλ࿈ܞํࣜΞϓϦέʔγϣϯͷछྨʹґଘ͢Δɻ ɾͻͱͭͷΞʔΩςΫνϟʔʹݻࣥ͢Δඞཁੑ͋Δ͔ʁ ɾΞϓϦέʔγϣϯಛੑΛجʹΞʔΩςΫνϟͷબΛߦͳ͏͖Ͱʁ ۀܥΞϓϦέʔγϣϯʹ͓͍ͯɺ ϦιʔεΑΓαʔϏεʹয͕͋ͨΓ͍͢ɻ ͱ͋Δ3&45ͷߟ ͦͦϦιʔεࢦʹԠͨ͡ઃܭख๏͕࠾ΒΕ͍ͯΔ͔ʁ
ͱ͋Δ3&45ͷߟ ڞ௨ͷαʔό"1* ΞϓϦέʔγϣ" ͚ʹΠϯλʔ ϑΣΠεΛม ΞϓϦέʔγϣ# ͚ʹΠϯλʔ ϑΣΠεΛม ΞϓϦέʔγϣ$ ͚ʹΠϯλʔ
ϑΣΠεΛม ΞϓϦέʔγϣ% ͚ʹΠϯλʔ ϑΣΠεΛม ΞϓϦέʔγϣ" ΞϓϦέʔγϣ# ΞϓϦέʔγϣ$ ΞϓϦέʔγϣ% αʔό ΫϥΠΞϯτ Φʔέετ Ϩʔγϣϯ ʙॻ੶ʮ8FC"1*5IF(PPE1BSUTʯQΑΓҾ༻ʙ ʰ/FUqJYࣾͰ04'"ʢPOFTJ[FpUTBMMʣͷΞϓϩʔνΛΊɺαʔόʔଆͷ൚༻తͳ "1*ͱΫϥΠΞϯτͷؒʹz$MJFOU"EBQUFS$PEFzΛ࣮ߦ͢ΔΛڬΈɺ͞·͟·ͳͰσό ΠεʹରԠͰ͖ΔΑ͏ʹ͍ͯ͠·͢ɻʱ
ͱ͋Δ3&45ͷߟ ϏσΦϨϯλϧγεςϜͰߟ͑ͯΈΔ
·ͱΊ
3&45ʹै͏͔ͷબɺ ։ൃ͢ΔΞϓϦέʔγϣϯʹͱͬͯ Կ͕࠷ॏཁͰ͋Δ͔ʹΏͩͶΒΕΔɻ ·ͱΊ ߹ʹΑͬͯɺ୯ͳΔٕज़ํࣜͱͯ͠3&45Λ࠾༻͢Δ͚ͩͰ͍͍͔͠Εͳ͍ɻ ͜Ε࠶ར༻ͷߟ͑ํʹࣅ͍ͯΔؾ͕͢Δɻ ຊʹͦΕίετΛͬͯ࠶ར༻͢Δͷ͔ʁΛߟ͑Δඞཁ͕͋Δɻ
4JNQMFJTOPU&BTZ ·ͱΊ &BTZɺ݁ՌΛੜ͢ΔͨΊͷ࠷খݶͷ࿑ྗɻ γϯϓϧɺॏཁͳͷҎ֎ͷͯ͢Λআ͢Δ͜ͱɻ
ॻ੶հ
αΠτհ $MPVE"1* "1*ઃܭΨΠυ IUUQTDMPVEHPPHMFDPNBQJTEFTJHO IMKB Ҏདྷ(PPHMF෦Ͱ༻͞Εɺ$MPVE"1*ͦͷଞͷ (PPHMF"1*Λઃܭ͢Δͱ͖ʹ(PPHMF͕ै͏ΨΠυ
αΠτհ 8FC"1*%FTJHO $SBGUJOH*OUFSGBDFTUIBU%FWFMPQFST-PWF IUUQTQBHFTBQJHFFDPNSTBQJHFFJNBHFT BQJEFTJHOFCPPLQEG
ࢀߟʹͨ͠αΠτ ѹతײँ 8FC"1*ͱԿͳͷ͔ ϦιʔεࢦΞʔΩςΫνϟ 30" ͱԿͳͷ͔ Ϧιʔεࢦ8FCαʔϏεͱΞΫςΟϏςΟʔࢦ8FCαʔϏεΛൺֱ͢Δ 40"ͷະདྷ3&45͔ 40"1ͱ3&45ͷҧ͍ʹ͍ͭͯΘ͔Γ͘͢ڭ͍͚͑ͯͨͩ·ͤΜͰ͠ΐ͏͔ʁ https://qiita.com/NagaokaKenichi/items/df4c8455ab527aeacf02
https://qiita.com/NagaokaKenichi/items/0f3a55e422d5cc9f1b9c https://www.ibm.com/developerworks/jp/webservices/library/ws-restvsoap/index.html https://teratail.com/questions/34703 https://www.infoq.com/jp/articles/RESTSOAFuture/
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͓ΘΓ