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
やはり俺のWeb APIは間違えている
Search
Shinichi Kozake
September 13, 2019
Technology
0
540
やはり俺のWeb APIは間違えている
社内勉強会
クラウド・マイクロサービス勉強会#4の発表資料です。
Shinichi Kozake
September 13, 2019
Tweet
Share
More Decks by Shinichi Kozake
See All by Shinichi Kozake
アーキテクトとは
kozake
0
2.2k
Ionic React でサービス開発したお話
kozake
0
140
ドキッ!失敗だらけのシステム開発
kozake
1
830
すごい大規模 たのしく作ろう
kozake
4
2.4k
KHipster ~JHipsterで始めるKotlin Web プログラミング~
kozake
0
890
Docker with JHipster
kozake
1
570
実践JHipster #jsug #sf_36
kozake
2
7.7k
Ionicでアプリ作ったよ!開発方法の紹介
kozake
2
1k
アプリ作ろうぜ! Yomoo!ってアプリを作ったよ! #kanjava
kozake
0
1.6k
Other Decks in Technology
See All in Technology
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
17k
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
280
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
17k
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
ゼロからはじめる採用広報
yutadayo
3
950
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
3
7.7k
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
170
OPENLOGI Company Profile
hr01
0
67k
What’s new in Android development tools
yanzm
0
320
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
150
いつの間にか入れ替わってる!?新しいAWS Security Hubとは?
cmusudakeisuke
0
130
AI専用のリンターを作る #yumemi_patch
bengo4com
5
4.3k
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
6
300
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
GitHub's CSS Performance
jonrohan
1031
460k
4 Signs Your Business is Dying
shpigford
184
22k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
The Language of Interfaces
destraynor
158
25k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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/
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͓ΘΓ