Slide 1

Slide 1 text

ʙ0QFO"1*(FOFSBUPS஀ੜͷഎܠͱي੻ʙ த໺ڿਓΞεΫϧגࣜձࣾ (VONBXFCεΩʔϚۦಈ։ൃ ฏ੩ΛอͪɺίʔυΛੜ੒ͤΑ

Slide 2

Slide 2 text

8FCΞϓϦέʔγϣϯΤϯδχΞ த໺ڿਓ!/","/0@"LJIJUP ܈അݝ༢ָ܊༢ָொग़਎ IUUQTBDLJOUPTIHJUIVCJPBCPVU

Slide 3

Slide 3 text

܈അݝ༢ָ܊༢ָொग़਎ IUUQTXXXUPXOPSBHVONBKQ

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

044׆ಈ w0QFO"1*(FOFSBUPS wIUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPS w(BOFTIB Ψωʔγϟ  wIUUQTHJUIVCDPNBDLJOUPTIHBOFTIB w4OJEFM εφΠσϧ  wIUUQTHJUIVCDPNBDLJOUPTITOJEFM

Slide 6

Slide 6 text

8&# %#13&447PM ಛू <ޮ཰ٸ্ঢ>εΩʔϚۦಈ8FC"1*։ൃ ষޙ൒ʙষΛࣥච͍͖ͤͯͨͩ͞·͠ ͨ!ײँ

Slide 7

Slide 7 text

Gunma.web #34 εΩʔϚۦಈ։ൃ

Slide 8

Slide 8 text

໨࣍ wεΩʔϚۦಈ։ൃ w lεΩʔϚۦಈ։ൃzͷىݯɺಛ௃ w0QFO"1* w 0QFO"1*஀ੜͷྺ࢙ɺه๏ɺ4XBHHFS5PPMT w0QFO"1*(FOFSBUPS w ஀ੜͷഎܠɺجຊૢ࡞ w ΧελϚΠζํ๏ɺΞϯνύλʔϯ εΩʔϚۦಈ։ൃ΍0QFO"1* ʹ͍ͭͯ֓؍ͨ͋͠ͱɺ ࢲͷಘҙ෼໺Ͱ͋Δ ίʔυੜ੒ʹ͍ͭͯ۷ΓԼ͛ ͓ͯ࿩͍͖ͯ͠·͢

Slide 9

Slide 9 text

εΩʔϚۦಈ։ൃ

Slide 10

Slide 10 text

εΩʔϚۦಈ։ൃͱ͸ w໌֬ͳఆ͕ٛ͋ΔΘ͚Ͱ͸ͳ͍ w8&# %#13&44ͷಛूͰ͸POL͞ΜͷԼهͷϒϩάண૝Λಘͯ
 zεΩʔϚۦಈ։ൃzͱ͍͏λΠτϧΛ͚ͭͨ wεΩʔϚϑΝʔετ։ൃͷεεϝ wIUUQTCMPHPOLOJOKBTDIFNB@pSTU@EFWFMPQNFOU

Slide 11

Slide 11 text

εΩʔϚۦಈ։ൃͱ͸։ൃͷྲྀΕͷҧ͍ Ҿ༻IUUQTCMPHPOLOJOKBTDIFNB@pSTU@EFWFMPQNFOU API هड़ݴޠҎલͷੈք: API هड़ݴޠҎޙͷੈք:

Slide 12

Slide 12 text

εΩʔϚۦಈ։ൃͱ͸։ൃͷྲྀΕͷҧ͍ API هड़ݴޠҎલͷੈք: API هड़ݴޠҎޙͷੈք: Ҿ༻IUUQTCMPHPOLOJOKBTDIFNB@pSTU@EFWFMPQNFOU

Slide 13

Slide 13 text

εΩʔϚۦಈ։ൃͱ͸εΩʔϚͱ͸ wԿ͔͠Βͷߏ଄Λఆٛͯ͠ɺ͋ΔఆΊΒΕͨܗࣜͰهड़ͨ͠΋ͷ wྫσʔλϕʔεεΩʔϚ%%- w8FC"1*Ͱ͍͏ͱʜ wͲͷΤϯυϙΠϯτ͕ wͲΜͳϦΫΤετΛड෇͚Δͷ͔ wͲΜͳϨεϙϯεΛฦ͢ͷ͔

Slide 14

Slide 14 text

εΩʔϚۦಈ։ൃͱ͸ͭ·Γ w͸͡ΊʹΈΜͳͰ૬ஊ͠ͳ͕ΒεΩʔϚΛܾΊͯɺ wͦΕΛ΋ͱʹฒߦͯ͠։ൃ͢Δ͜ͱ ։ൃνʔϜશମͷϫʔΫϑϩʔ Ͱ͋Δɻ ͭ·Γ

Slide 15

Slide 15 text

εΩʔϚۦಈ։ൃ৽͍͠։ൃख๏ͱ͍͏Θ͚Ͱ͸ͳ͍ wίϯτϥΫτϑΝʔετ wσβΠϯϑΝʔετ Ͱ͸εΩʔϚۦಈ։ൃΛಛ௃͚ͮΔ΋ͷͱ͸ʜ ʢಉ͡ࢥ૝ͷ։ൃϑϩʔʣ εΩʔϚͰ։ൃΛۦಈ͢Δ͜ͱ 8FC"1*ͷ࢓༷Λهड़͠ ֤छπʔϧΛ׆༻ͯ͠։ൃΛޮ཰Խ͢Δ͜ͱ

Slide 16

Slide 16 text

8&# %#13&447PM 8&# %#13&447PMͷಛूͰ͸ɺ εΩʔϚۦಈ։ൃͷελΠϧ͕ొ৔͢Δ લ͔Βͷ։ൃख๏ͷભҠΛஈ֊తʹ͝঺ հ͍ͯ͠·͢ɻ εΩʔϚͰۦಈ͢Δ։ൃͷྑ͞΍ɺͦͷ ඞཁੑΛΑΓਂ͘஌Δ͜ͱ͕Ͱ͖·͢ IUUQTHJIZPKQNBHB[JOFXEQSFTTBSDIJWFWPM

Slide 17

Slide 17 text

εΩʔϚۦಈ։ൃͱ͸εΩʔϚͱ͸ ࠶ wԿ͔͠Βͷߏ଄Λఆٛͯ͠ɺ͋ΔఆΊΒΕͨܗࣜͰهड़ͨ͠΋ͷ wྫσʔλϕʔεεΩʔϚ w8FC"1*Ͱ͍͏ͱʜ wͲͷΤϯυϙΠϯτ͕ wͲΜͳϦΫΤετΛड෇͚Δͷ͔ wͲΜͳϨεϙϯεΛฦ͢ͷ͔

Slide 18

Slide 18 text

εΩʔϚۦಈ։ൃεΩʔϚΛهड़͢ΔϑΥʔϚοτ w0QFO"1*TQFDJpDBUJPO چ4XBHHFSTQFDJpDBUJPO  w"1*#MVFQSJOU w3".- 8FC"1* 3&45"1* ͷεΩʔϚΛهड़͢ΔϑΥʔϚοτ

Slide 19

Slide 19 text

OpenAPI

Slide 20

Slide 20 text

0QFO"1*֓ཁ IUUQTHJUIVCDPN0"*0QFO"1*4QFDJpDBUJPO The OpenAPI Specification w0QFO"1* 0QFO"1*TQFDJpDBUJPO  wچ4XBHHFSTQFDJpDBUJPO w3&45"1*ͷ࢓༷Λهड़͢ΔϑΥʔϚοτ w0QFO"1**OJUJBUJWF w0QFO"1*ͷϑΥʔϚοτΛਪਐ͢Δஂମ w.JDSPTPGUɺ(PPHMFɺ*#.ɺ4NBSU#FBSͳͲ͕ ࢀՃ

Slide 21

Slide 21 text

w೥݄0QFO"1**OJUJBUJWF݁੒ w೥݄4XBHHFSTQFDJpDBUJPO͕0QFO"1**OJUJBUJWFʹدଃ͞ΕΔ w4XBHHFSTQFDJpDBUJPO͕0QFO"1*TQFDJpDBUJPOʹϦωʔϜ͞ ΕΔ w೥݄0QFO"1*TQFDJpDBUJPOϦϦʔε w೥݄ݱࡏͷόʔδϣϯ͸0QFO"1*TQFDJpDBUJPO 0QFO"1*ྺ࢙ 4XBHHFSϓϩδΣΫτ 0QFO"1**OJUJBUJWF 0QFO"1*TQFD 4XBHHFSTQFD 4XBHHFSUPPMT

Slide 22

Slide 22 text

0QFO"1*༻ޠʹ͍ͭͯͷ஫ҙࣄ߲ w0QFO"1*ͷϑΥʔϚοτͷ໊শ͸ɺݫີʹ͸l0QFO"1*4QFDJpDBUJPOz w௕͍ͷͰ0QFO"1*Ͱݺ͹ΕΔɻ0"4ͱུ͢͜ͱ΋͋Δ w0QFO"1*ͷੈքͰ͸ɺ0QFO"1*Ͱॻ͔Εͨ΋ͷΛz0QFO"1*υΩϡϝϯτzͱ ݺͿ w IUUQTHJUIVCDPN0"*0QFO"1*4QFDJpDBUJPOCMPCNBTUFSWFSTJPOTNEPQFOBQJEPDVNFOU w"1*ͷߏ଄Λఆٛ͢ΔʮεΩʔϚʯͱɺʮ0QFO"1*υΩϡϝϯτʯ͸ಉ͡ ΋ͷΛࢦ͢

Slide 23

Slide 23 text

8&# %#13&447PM εΩʔϚۦಈ։ൃ͸։ൃશମͷϫʔΫϑ ϩʔͰ͢ͷͰɺ4XBHHFS0QFO"1*΍ 3&45ͱ͍ͬͨಛఆͷπʔϧ܈΍ύϥμΠ Ϝʹݶͬͨ΋ͷͰ͸͋Γ·ͤΜɻ ಛूͰ͸ɺ(SBQI2-ʹΑΔεΩʔϚۦಈ ։ൃ΋঺հ͍ͯ͠·͢ IUUQTHJIZPKQNBHB[JOFXEQSFTTBSDIJWFWPM

Slide 24

Slide 24 text

0QFO"1*ϑΥʔϚοτ IUUQTCMPHSFBENFJPBOFYBNQMFpMMFEHVJEFUPTXBHHFS

Slide 25

Slide 25 text

0QFO"1*ϑΥʔϚοτ ϝλ৘ใ IUUQTCMPHSFBENFJPBOFYBNQMFpMMFEHVJEFUPTXBHHFS

Slide 26

Slide 26 text

0QFO"1*ϑΥʔϚοτ ΤϯυϙΠϯτ IUUQTCMPHSFBENFJPBOFYBNQMFpMMFEHVJEFUPTXBHHFS

Slide 27

Slide 27 text

0QFO"1*ϑΥʔϚοτ ίϯϙʔωϯτ IUUQTCMPHSFBENFJPBOFYBNQMFpMMFEHVJEFUPTXBHHFS

Slide 28

Slide 28 text

8&# %#13&447PM 8&# %#13&447PMͷಛूͰ͸ɺ 0QFO"1*υΩϡϝϯτΛߏ੒͢Δ༷ʑͳ ΦϒδΣΫτΛৄࡉʹղઆ͍ͯ͠·͢ɻ ۩ମతͳه๏ɾ஫ҙ఺΍هड़ͨ͠ 0QFO"1*υΩϡϝϯτͷ؅ཧํ๏ͳͲΛ ஌Δ͜ͱ͕Ͱ͖·͢ IUUQTHJIZPKQNBHB[JOFXEQSFTTBSDIJWFWPM

Slide 29

Slide 29 text

εΩʔϚۦಈ։ൃͱ͸ ࠶ w͸͡ΊʹΈΜͳͰ૬ஊ͠ͳ͕ΒεΩʔϚΛܾΊͯɺ wͦΕΛ΋ͱʹฒߦͯ͠։ൃ͢Δ͜ͱ ։ൃνʔϜશମͷϫʔΫϑϩʔ Ͱ͋Δɻ ͭ·Γ πʔϧͷࢧԉ͕ඞཁ

Slide 30

Slide 30 text

Swagger Tools

Slide 31

Slide 31 text

0QFO"1*4XBHHFS5PPMT w4XBHHFS&EJUPS w0QFO"1*υΩϡϝϯτ εΩʔϚ ͷهड़Λࢧԉ wIUUQTFEJUPSTXBHHFSJP w4XBHHFS6* w"1*࢓༷Λࢹ֮ԽɺΠϯλϥΫςΟϒͳ"1*ૢ࡞ wIUUQTQFUTUPSFTXBHHFSJP w4XBHHFS$PEFHFO w0QFO"1*υΩϡϝϯτ͔ΒιʔείʔυΛࣗಈੜ੒

Slide 32

Slide 32 text

0QFO"1*εΩʔϚۦಈ։ൃͱ4XBHHFS5PPMT IUUQTCMPHPOLOJOKBTDIFNB@pSTU@EFWFMPQNFOU API هड़ݴޠҎޙͷੈք 0QFO"1*υΩϡϝϯτͷهड़ ࢓༷ͷڞ༗ɾ֬ೝ ελϒੜ੒ػೳΛར༻ͨ͠εΩϟϑΥʔϧσΟϯά ੜ੒ͨ͠ελϒΛར༻ͨ͠ฏߦ։ൃ ੜ੒ͨ͠ΫϥΠΞϯτΛར༻ͨ͠޻਺࡟ݮ ςετίʔυͷࣗಈੜ੒ Swagger Editor Swagger UI Swagger Codegen

Slide 33

Slide 33 text

0QFO"1*υΩϡϝϯτͷهड़ ࢓༷ͷڞ༗ɾ֬ೝ Swagger Editor Swagger UI 0QFO"1*ίʔυੜ੒ͷԸܙ͸େ͖͍ IUUQTCMPHPOLOJOKBTDIFNB@pSTU@EFWFMPQNFOU API هड़ݴޠҎޙͷੈք ελϒੜ੒ػೳΛར༻ͨ͠εΩϟϑΥʔϧσΟϯά ੜ੒ͨ͠ελϒΛར༻ͨ͠ฏߦ։ൃ ੜ੒ͨ͠ΫϥΠΞϯτΛར༻ͨ͠޻਺࡟ݮ ςετίʔυͷࣗಈੜ੒ Swagger Codegen

Slide 34

Slide 34 text

OpenAPI Generator

Slide 35

Slide 35 text

0QFO"1*(FOFSBUPS֓ཁ w೥݄ʹ஀ੜ w4XBHHFS$PEFHFOW͔ΒϑΥʔΫ wαϙʔτ͢ΔݴޠɾϑϨʔϜϫʔΫ͸Ҏ্ w0QFO"1*ʹରԠ w0QFO"1**OJUJBUJWFͱ͸ؔ܎ͳ͍ w 0"*഑ԼͷϓϩδΣΫτͩͱؒҧΘΕΔ͜ͱ͕͋Δ IUUQTPQFOBQJHFOFSBUPSUFDI

Slide 36

Slide 36 text

OpenAPI Generator ϑΥʔΫͷഎܠͱ͜Ε·Ͱͷي੻

Slide 37

Slide 37 text

0QFO"1*(FOFSBUPSϑΥʔΫͷഎܠ 4NBSU#FBSࣾͷίϛϡχςΟܰࢹ w4XBHHFS$PEFHFOͷ։ൃ͸4NBSU#FBS͕ࣾओಋ͍ͯ͠Δ w೥ʹ4XBHHFSϓϩδΣΫτͷεϙϯαʔγοϓΛ4NBSU#FBS͕ࣾҾ ͖ܧ͍ͩ w IUUQTRJJUBDPNSJOBYTVNPNPJUFNTCFFFBFFEDG w೥݄ʹ0QFO"1*͕ϦϦʔε͞Εɺ֤044ϓϩδΣΫτ΍༗ঈαʔ Ϗε͸ͦͷରԠʹணख w͔͠͠ɺ4XBHHFS$PEFHFO͸೥ॳΊʹͳͬͯ΋ରԠ͕ਐΜͰ͓Βͣڝ ߹͔Β஗ΕΛͱ͍ͬͯͨ wʹ΋ؔΘΒͣ4NBSU#FBSࣾ͸0QFO"1*ରԠͱ͸ؔ܎ແ͍େ͖ͳվमΛlಠ அͰzߦ͏

Slide 38

Slide 38 text

wϦϙδτϦͷ෼ׂ 0QFO"1*(FOFSBUPSϑΥʔΫͷഎܠ ಠஅͰߦΘΕͨେ͖ͳվम TXBHHFSDPEFHFO TXBHHFSDPEFHFOHFOFSBUPST

Slide 39

Slide 39 text

0QFO"1*(FOFSBUPSϑΥʔΫͷഎܠ ίϛϡχςΟʹ޿͕Δෆ৴ײ wಠஅͰਐΜͰ͍͘։ൃํ਑ʹ͍ͭͯɺίϛϡχςΟ͔Β੠্͕͕Δ͕ɺฉ͖ೖ ΕΒΕͳ͍ ൃද࣌͸ɺ౰࣌ͷঢ়گΛΑΓϦΞϧʹ఻͑ΔͨΊʹJTTVFͳͲͷ ը໘ΩϟϓνϟΛ͜͜ʹೖΕ͍ͯ·͕ͨ͠ɺ ಛఆͷݸਓ΁ͷ൷൑ʹܨ͕Γ͔Ͷͳ͍ͨΊɺެ։͢ΔεϥΠυͰ͸߇͍͖͑ͤͯͨͩ͞·͢

Slide 40

Slide 40 text

wϨϏϡʔΛ௨ͣ͞ʹςετίʔυΛҰؾʹແޮԽ 0QFO"1*(FOFSBUPSϑΥʔΫͷഎܠ ίϛϡχςΟʹ޿͕Δෆ৴ײ ൃද࣌͸ɺ౰࣌ͷঢ়گΛΑΓϦΞϧʹ఻͑ΔͨΊʹJTTVFͳͲͷ ը໘ΩϟϓνϟΛ͜͜ʹೖΕ͍ͯ·͕ͨ͠ɺ ಛఆͷݸਓ΁ͷ൷൑ʹܨ͕Γ͔Ͷͳ͍ͨΊɺެ։͢ΔεϥΠυͰ͸߇͍͖͑ͤͯͨͩ͞·͢

Slide 41

Slide 41 text

೥ʹ4NBSU#FBS͕ࣾεϙϯαʔγοϓΛҾ͖ܧ͍ͩͱ͖ͷهࣄ w 5POZ5BNࢯ 4XBHHFSϓϩδΣΫτ૑࢝ऀͷͻͱΓ ͕4NBSU#FBSࣾΛબΜͩཧ༝ Λޠ͍ͬͯΔ IUUQTXXXJOGPRDPNOFXTTXBHHFSGPVOEFSXIBUTOFYU ൴Β 4NBSU#FBS ͕
 ࣗݾརӹͷͨΊ͚ͩʹ 4XBHHFSΛར༻͢Δ͜ͱ͸ͳ͍ ͱ֬৴͍ͯ͠Δ ݱࡏͷৼΔ෣͍͔Β͸ ͦͷΑ͏ʹ͸ײ͡ΒΕͳ͘ ͳ͍ͬͯΔ

Slide 42

Slide 42 text

։ൃίϛϡχςΟ͸ 4NBSU#FBSࣾͷϏδωεʹແঈͰߩݙ͢Δ ϘϥϯςΟΞͰ͸ͳ͍

Slide 43

Slide 43 text

w4NBSU#FBSࣾͷ։ൃίϛϡχςΟΛܰࢹͨ͠ಈ͖ʹɺࠞཚͨ͠Γٙ໰Λ๊͘։ ൃऀ͕ͨͪग़ͯ͘Δ w͜ͷঢ়گΛվળ͢ΔͨΊʹ8JMMJBN τοϓίϯτϦϏϡʔλ ͕4NBSU#FBSࣾ ͱ࿩͠߹͍ΛॏͶΔ w͕ɺ4NBSU#FBSࣾ͸શ͘ฉ͖ೖΕͳ͔ͬͨ w8JMMJBN͸4NBSU#FBSࣾͷઆಘΛఘΊɺࠓޙʹ͍ͭͯ։ൃίϛϡχςΟͱ࿩͠ ߹ͬͨ 4XBHHFS$PEFHFOΛϑΥʔΫͯ͠ผͷϓϩδΣΫτͱͯ͠ ίϛϡχςΟɾυϦϒϯͳ։ൃΛਐΊΔ͜ͱΛܾΊΔ William(@wing328) (2018೥3݄ࠒ) 0QFO"1*(FOFSBUPSϑΥʔΫͷഎܠ ৽ϓϩδΣΫτͷελʔτ

Slide 44

Slide 44 text

w8JMMJBNͷݺͼ͔͚Ͱू·ͬͨਓҎ্ͷίϯτϦϏϡʔλʹΑͬͯ0QFO"1* (FOFSBUPSͷॳظ։ൃ͕ߦΘΕͨ wϓϩδΣΫτͷެ։·Ͱ͸ϓϥΠϕʔτϦϙδτϦͰ։ൃ w0QFO"1*ରԠͷͨΊʹҎ্ͷϓϧϦΫΤετ͕ग़͞Εͨ wܞΘͬͨϝϯόʔ͸3&"%.&ʹ'PVOEJOH.FNCFSͱͯ͠ܝࡌ͞Ε͍ͯΔ w IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPSGPVOEJOHNFNCFSTBMQIBCFUJDBMPSEFS w0QFO"1*ͷରԠ͕Ұ௨Γ׬ྃ͠ɺ೥݄೔ʹϕʔλ൛ͱͯ͠ެ։ 0QFO"1*(FOFSBUPSॳظ։ൃΛܦͯϕʔλ൛Λެ։

Slide 45

Slide 45 text

ϦϙδτϦΛެ։ ࠷ॳͷ҆ఆ൛ΛϦϦʔε

Slide 46

Slide 46 text

0QFO"1*(FOFSBUPSೝ஌౓ͷߴ·Γ ϒϩά ٕज़ܥϝσΟΞ ެࣜ5XJUUFSΞΧ΢ϯτ (JU)VCελʔ਺

Slide 47

Slide 47 text

w-JOPEFࣾ w0QFO"1*(FOFSBUPS0OMJOFΛϗετ͍ͯ͠ ΔαʔόʔΛ-JOPEF͔ࣾΒఏڙ͍͍ͯͨͩ͠ ͍ͯΔ w63-IUUQBQJPQFOBQJHFOFSBUPSUFDI w ˞0QFO"1*(FOFSBUPS0OMJOF w ίʔυੜ੒αʔόʔͷػೳ w IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPSCMPCNBTUFS EPDTPOMJOFNE 0QFO"1*(FOFSBUPSاۀ͔Βͷαϙʔτ IUUQTXXXMJOPEFDPN

Slide 48

Slide 48 text

0QFO"1*(FOFSBUPSϢʔβʔͷ֦େ IUUQTPQFOBQJHFOFSBUPSUFDIVTFSTIUNM w׆༻͍͍͍ͯͨͩͯ͠ΔاۀΛ
 υΩϡϝϯταΠτʹܝࡌ w΢ν΋࢖ͬͯΔΑʂͱ͍͏͔ͨ͸ ͥͻϓϧϦΫΤετΛ͍ͩ͘͞ wl&EJUUIJTQBHFzͷϦϯΫ͔Β
 ϓϧϦΫΤετΛग़ͤ·͢ʂ

Slide 49

Slide 49 text

0QFO"1*(FOFSBUPSఆظతͳϦϦʔε wύονϦϦʔεִि wޙํޓ׵ੑͷ͋Δมߋ wϚΠφʔϦϦʔεִ݄ wޙํޓ׵ੑͷͳ͍มߋ w Φϓγϣϯ౳ͰҎલͷڍಈΛ࠶ݱՄ  wϝδϟʔϦϦʔε൒೥ຖ wޙํޓ׵ੑͷͳ͍มߋ IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPSXJLJ(JU#SBODIFT

Slide 50

Slide 50 text

0QFO"1*(FOFSBUPS։ൃίϛϡχςΟ w 3&"%.&l"CPVUVTzIUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPSBCPVUVT w5FNQMBUF$SFBUPS wݴޠɺϑϨʔϜϫʔΫͳͲͷςϯϓϨʔτΛ࡞੒ͨ͠ਓͨͪ w5FDIOJDBM$PNNJUUFF wಛఆͷݴޠ޲͚ͷJTTVFɾ13ͷϨϏϡʔͳͲΛߦ͏ਓͨͪ w$PSF5FBN wϓϩδΣΫτʹϓϥεʹͳΔͰ͋Ζ͏ࣄΛ΍Δਓͨͪ wϚʔδݖݶ͋Γ

Slide 51

Slide 51 text

0QFO"1*(FOFSBUPSΑΓڧ͍ίϛϡχςΟ΁ w0QFO"1*(FOFSBUPS͸lίϛϡχςΟओମzͷϓϩδΣΫτ w΋ͬͱͨ͘͞Μͷ։ൃऀʹؔΘ͍͖͍ͬͯͨͩͨ w৽͍͠໾ׂΛ৽ઃͯ͠ɺΞΫςΟϒʹ׆ಈ͞Ε͍ͯΔํʹϚʔδݖݶΛ౉ͯ͠ ͍͘ࢼΈ͕Ұ෦ࢼݧతʹ࢝·͍ͬͯΔ ϓϩδΣΫτͷԣ΁ͷ޿͕Γ͚ͩͰͳ͘ ؔ৺ͷߴ͍։ൃऀ͸ΑΓਂؔ͘Θ͍͚ͬͯΔΑ͏ॎͷ޿͕Γ΋࡞͍ͬͯ͘

Slide 52

Slide 52 text

0QFO"1*(FOFSBUPSΑΓڧ͍ίϛϡχςΟ΁ ಺෦ߏ଄ͷϦϑΝΫλϦϯά ৽͍͠δΣωϨʔλͷ࣮૷ 0QFO"1*ରԠͷڧԽ ։ൃͷϩʔυϚοϓ

Slide 53

Slide 53 text

,&&1$"-. BOE (&/&3"5&$0%&

Slide 54

Slide 54 text

0QFO"1*υΩϡϝϯτͷهड़ ࢓༷ͷڞ༗ɾ֬ೝ Swagger Editor Swagger UI 0QFO"1*(FOFSBUPSͰίʔυੜ੒͢Δ IUUQTCMPHPOLOJOKBTDIFNB@pSTU@EFWFMPQNFOU API هड़ݴޠҎޙͷੈք ελϒੜ੒ػೳΛར༻ͨ͠εΩϟϑΥʔϧσΟϯά ੜ੒ͨ͠ελϒΛར༻ͨ͠ฏߦ։ൃ ੜ੒ͨ͠ΫϥΠΞϯτΛར༻ͨ͠޻਺࡟ݮ ςετίʔυͷࣗಈੜ੒ OpenAPI Generator

Slide 55

Slide 55 text

OpenAPI Generator ͸͡Ί͔ͨ

Slide 56

Slide 56 text

υΩϡϝϯταΠτ 5IBOLT!KJNTDIVCFSU✨ IUUQTPQFOBQJHFOFSBUPSUFDI ࠷ۙυΩϡϝϯταΠτ͕Ͱ͖·ͨ͠ʂ

Slide 57

Slide 57 text

0QFO"1*(FOFSBUPSͷ͸͡Ί͔ͨଟ༷ͳΠϯλʔϑΣʔε wίϚϯυ w)PNFCSFXɺOQNɺ%PDLFSΠϝʔδɺKBSϑΝΠϧ wϏϧυπʔϧͷϓϥάΠϯ w.BWFOɺ(SBEMF w0QFO"1*(FOFSBUPS0OMJOF wίʔυੜ੒༻ͷ)551αʔόʔΛࣾ಺౳ʹཱͯΔػೳ

Slide 58

Slide 58 text

0QFO"1*(FOFSBUPSͷ͸͡Ί͔ͨجຊίϚϯυ αϒίϚϯυ 0QFO"1*υΩϡϝϯτͷύε δΣωϨʔλ໊ ੜ੒͢ΔݴޠɾϑϨʔϜϫʔΫͳͲ ग़ྗઌ

Slide 59

Slide 59 text

0QFO"1*(FOFSBUPSͷ͸͡Ί͔ͨੜ੒͞ΕΔϑΝΠϧͷྫ ྫ1)1ΫϥΠΞϯτ "1* Ϟσϧ υΩϡϝϯτ ੜ੒͞Εͨ"1*ΫϥΠΞϯτ΍Ϟσϧͷ࢓༷͕
 ϚʔΫμ΢ϯͰॻ͔ΕͨυΩϡϝϯτ

Slide 60

Slide 60 text

0QFO"1*(FOFSBUPSͷ͸͡Ί͔ͨੜ੒͞ΕΔϑΝΠϧͷྫ ྫ1)1ΫϥΠΞϯτ "1*ΫϥΠΞϯτΫϥε

Slide 61

Slide 61 text

0QFO"1*(FOFSBUPSͷ͸͡Ί͔ͨੜ੒͞ΕΔϑΝΠϧͷྫ ྫ1)1ΫϥΠΞϯτ Ϟσϧ

Slide 62

Slide 62 text

0QFO"1*(FOFSBUPSͷ͸͡Ί͔ͨੜ੒͞ΕΔϑΝΠϧͷྫ ྫ1)1ΫϥΠΞϯτ ςετ 1)16OJUΛ࢖ͬͨςετίʔυ
 ͷΨϫ͚͕ͩੜ੒͞ΕΔ ɹɹɹɹɹ

Slide 63

Slide 63 text

0QFO"1*(FOFSBUPSͷ͸͡Ί͔ͨجຊίϚϯυ ͲΜͳαϒίϚϯυ͕͋Δͷ͔஌Γ͍ͨͱ͖ ɹˠlIFMQzαϒίϚϯυ αϒίϚϯυʹࢦఆͰ͖ΔΦϓγϣϯΛ஌Γ͍ͨͱ͖ ɹˠzIFMQ\αϒίϚϯυ^z

Slide 64

Slide 64 text

0QFO"1*(FOFSBUPSͷ͸͡Ί͔ͨجຊίϚϯυ δΣωϨʔλݻ༗ͷΦϓγϣϯΛ஌Γ͍ͨͱ͖ ྫ1)1ΫϥΠΞϯτ  ɹˠlDPOpHIFMQzαϒίϚϯυ ͲΜͳδΣωϨʔλ HΦϓγϣϯͷ஋ ͕͋Δͷ͔஌Γ͍ͨͱ͖ ɹˠҾ਺ΛԿ΋ࢦఆ͠ͳ͍

Slide 65

Slide 65 text

OpenAPI Generator ͷग़ྗΛΧελϚΠζ͢Δ

Slide 66

Slide 66 text

0QFO"1*(FOFSBUPSύοέʔδ໊Λࢦఆ͢Δ wŠBQJQBDLBHF wŠNPEFMQBDLBHF

Slide 67

Slide 67 text

0QFO"1*(FOFSBUPSੜ੒͢ΔϑΝΠϧΛݶఆ͢Δ wϞσϧ͚ͩੜ੒͢Δ৔߹l%NPEFMTz wͦͷଞ w%BQJTɺ%TVQQPSUJOH'JMFT wςετ͸ཁΒͳ͍৔߹ w%NPEFM5FTUTGBMTFɺ%BQJ5FTUTGBMTF

Slide 68

Slide 68 text

0QFO"1*(FOFSBUPSੜ੒͢ΔܕΛࢦఆ͢Δ wŠUZQFNBQQJOHTͰܕͷϚοϐϯάΛࢦఆ͢Δ ྫ೔࣌Λѻ͏ΫϥεͰ͸-PDBM%BUF5JNFΛ࢖͍͍ͨ৔߹

Slide 69

Slide 69 text

0QFO"1*(FOFSBUPSΠϯϥΠϯͰఆٛͨ͠Ϟσϧͷ໊લΛࢦఆ͢Δ ࣗಈతʹ෇༩͞ΕΔϞσϧ໊͕ඍົͳͱ͖͸ʜ

Slide 70

Slide 70 text

0QFO"1*(FOFSBUPSΠϯϥΠϯͰఆٛͨ͠Ϟσϧͷ໊લΛࢦఆ͢Δ ˠεοΩϦʂ w $PNNVOJUZϞσϧͷlNFNCFSTzϓϩύςΟʹ w l.FNCFSzϞσϧͷ഑ྻΛ࣋ͭΑ͏ʹͳΔ 0QFO"1*υΩϡϝϯτͷlUJUMFzଐੑΛࢦఆ͢Δ͜ͱͰɺ

Slide 71

Slide 71 text

OpenAPI Generator ͦͷଞ΋Ζ΋Ζ

Slide 72

Slide 72 text

0QFO"1*(FOFSBUPSੜ੒࣌ͷϩά͕͏Δ͍͞ͱ͖ l%MPHMFWFMzͰϩάϨϕϧΛࢦఆ͢Δ

Slide 73

Slide 73 text

0QFO"1*(FOFSBUPS্ॻ͖ͷڍಈΛ੍ޚ͍ͨ͠ͱ͖ wҰ཯Ͱ্ॻ͖ͨ͘͠ͳ͍৔߹͸lŠTLJQPWFSXSJUFzΦϓγϣϯ w͜·੍͔͘ޚ͍ͨ͠৔߹͸PQFOBQJHFOFSBUPSJHOPSFϑΝΠϧΛ࢖͏ wHJUJHOPSFͱಉ͡Α͏ͳจ๏ ͢΂ͯͷCVJMETI ϧʔτͷCVJMETI EPDT഑Լ͢΂ͯ EPDT6TFS"QJNE͸্ॻ͖͢Δ TSD഑Լͷ"QJ͸্ॻ͖͠ͳ͍

Slide 74

Slide 74 text

0QFO"1*(FOFSBUPS0QFO"1*υΩϡϝϯτͷόϦσʔγϣϯ εΩʔϚۦಈ։ൃΛ࣮ફ͢Δ͜ͱͰ։ൃͷޮ཰্͕͕ͬͨʂ࠷ߴʂ Ͱ΋ɺ0QFO"1*υΩϡϝϯτΛϛεͳ͘ॻ͘ͷ͸େมʜɻ ϨϏϡʔͰຖճ4XBHHFS&EJUPSΛ࢖ͬͯΤϥʔ͕ͳ͍͔֬ೝ͢Δ ͷ͸໘౗ͩ͠ɻྑ͍ํ๏͕ͳ͍͔ͳ͊ʜ lWBMJEBUFzαϒίϚϯυΛ࢖͑͹ 0QFO"1*υΩϡϝϯτͷจ๏νΣοΫΛ$*Ͱग़དྷ·͢

Slide 75

Slide 75 text

0QFO"1*(FOFSBUPS0QFO"1*υΩϡϝϯτͷόϦσʔγϣϯ wσϑΥϧτͰɺίʔυੜ੒࣌ʹ΋όϦσʔγϣϯ͕૸͍ͬͯΔ wlWBMJEBUFzαϒίϚϯυ͸!UBYQPO͞Μ͕࣮૷ͯͩͬͨ͘͠͞!ײँ ิ଍ ࣮ߦྫඞਢͷϑΟʔϧυ͕ൈ͚͍ͯͨͱ͖ !UBYQPO

Slide 76

Slide 76 text

ίʔυੜ੒࣌ʹࢦఆ͢Δ৭ʑͳΦϓγϣϯͷψέ΍ϒϨ͕ͳ͍Α͏ ʹ౷Ұ͍ͨ͠ɻ͋ͱ࢖͏0QFO"1*(FOFSBUPSͷόʔδϣϯ΋ɻ 8JOEPXT΍Β.BD΍ΒϝϯόʔʹΑͬͯ৭ʑ͔ͩΒͦͷ΁Μ΋ߟྀ ͠ͳ͍ͱʜ 0QFO"1*(FOFSBUPS։ൃϝϯόʔ಺Ͱॾʑ౷Ұ͍ͨ͠

Slide 77

Slide 77 text

wΦϓγϣϯΛ+40/ϑΝΠϧʹ·ͱΊ͓͍ͯͯɺzDzΦϓγϣϯͰύεΛ౉͢ w+40/ϑΝΠϧ͸όʔδϣϯ؅ཧ͢Δ w.BWFOɺ(SBEMFΛ࢖͍ͬͯΔϓϩδΣΫτͳΒɺϓϥάΠϯΛ࢖͏ͷ͕Ұ൪ ྑͦ͞͏ wΦϓγϣϯ΋ϏϧυπʔϧͷઃఆϑΝΠϧʹॻ͚Δ ࢦఆ͢ΔΦϓγϣϯͷψέɾϒϨΛ๷ࢭ 0QFO"1*(FOFSBUPSͷόʔδϣϯΛ౷Ұ 0QFO"1*(FOFSBUPS։ൃϝϯόʔ಺Ͱॾʑ౷Ұ͍ͨ͠

Slide 78

Slide 78 text

"1*αʔόʔͷιʔείʔυʹॻ͍ͨΞϊςʔγϣϯ͔Β0QFO"1*υ ΩϡϝϯτΛੜ੒͢Δํ๏΋͋ΔΈ͍ͨɻ 0QFO"1*υΩϡϝϯτΛઌʹهड़͢Δํ๏ͱɺͲ͕͍͍ͬͪͷʁ εΩʔϚۦಈ։ൃΛߦ͏ͳΒ͹ɺ 0QFO"1*υΩϡϝϯτ εΩʔϚ Λઌʹهड़͠·͠ΐ͏ αʔόʔͷίʔυ͔ΒυΩϡϝϯτΛੜ੒͢Δํ๏΋͋Δ͚Ͳʁ

Slide 79

Slide 79 text

w͸͡ΊʹεΩʔϚΛΈΜͳͰ૬ஊ͠ͳ͕ΒܾΊͯɺͦΕΛ΋ͱʹαʔόʔͱΫ ϥΠΞϯτΛฒߦͯ͠։ൃ͢Δ͜ͱͰޮ཰Λ্͛Δͷ͕εΩʔϚۦಈ։ൃ wͳͷͰɺ0QFO"1*υΩϡϝϯτΛઌʹهड़͢Δ wαʔόʔͱΫϥΠΞϯτͷ։ൃ͕෼཭͍ͯ͠Δ৔߹ wྫ,VCFSOFUFTͷ3&45"1* wl,VCFSOFUFTͷ։ൃzͱl,VCFSOFUFT ͷ3&45"1* Λ࢖͏ΫϥΠΞϯτz ͷ։ൃϑϩʔ͸෼཭͍ͯ͠Δ w IUUQTHJUIVCDPNLVCFSOFUFTDPNNVOJUZCMPCNBTUFSDPOUSJCVUPSTEFWFMTJHBQJNBDIJOFSZHFOFSBUJOHDMJFOUTFUNE ҰํͰɺ"1*αʔόʔͷίʔυ͔Β0QFO"1*υΩϡϝϯτΛੜ੒ͨ͠ํ͕ྑ͍৔߹ͱ͸ʁ αʔόʔͷίʔυ͔ΒυΩϡϝϯτΛੜ੒͢Δํ๏΋͋Δ͚Ͳʁ

Slide 80

Slide 80 text

ͦ͏͍͑͹ੜ੒ͨ͠ίʔυͷϥΠηϯεͬͯͲ͏ͳΔͷʁ 0QFO"1*(FOFSBUPSੜ੒ͨ͠ίʔυͷϥΠηϯε͸ʁ ੜ੒ͨ͠ίʔυ͸Ϣʔβʔ͕ॴ༗͢Δ΋ͷͰ͋Γ
 ໨తʹԠͯࣗ͡༝ʹϥΠηϯεΛద༻͢Δ͜ͱ͕Ͱ͖·͢ IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPSMJDFOTFJOGPSNBUJPOPOHFOFSBUFEDPEF

Slide 81

Slide 81 text

ίʔυੜ੒ Ξϯνύλʔϯ

Slide 82

Slide 82 text

ίʔυੜ੒ͷΞϯνύλʔϯ wमਖ਼ͨ͠Օॴ͕࣍ճੜ੒࣌ʹ্ॻ͖͞Εͯ͠·͏ wͱ͸͍͑ɺ্ॻ͖͠ͳ͍ͱ"1*ఆٛͱίʔυ͕ဃ཭ͯ͠͠·͏ ੜ੒ͨ͠ίʔυʹखͰमਖ਼ΛՃ͑Δ

Slide 83

Slide 83 text

(FOFSBUJPO(BQύλʔϯʹΑΔղܾ wࣗಈੜ੒͢Δίʔυ͸৮Βͳ͍ wॲཧΛ௥Ճ͍ͨ͠৔߹͸ܧঝɾҕৡ౳Λ࢖͏ (FOFSBUJPO(BQύλʔϯ IUUQTXXXIZVLJDPNEQEQJOGPIUNM(FOFSBUJPO(BQ 0QFO"1*(FOFSBUPSͷ εΩϟϑΥʔϧυ༻్Ͱߟ͑ͨ৔߹ͷ ελϒαʔόʔੜ੒ػೳͰɺ (FOFSBUJPO(BQύλʔϯͷ࣮ફΛࢧԉ͢ΔࢼΈ͕͞Ε͍ͯΔͷͰ঺հ͠·͢

Slide 84

Slide 84 text

w4MJN 1)1 ͷ৔߹ wW͔Β͸ɺίϯτϩʔϥ͸ந৅ΫϥεΛੜ੒͢ΔΑ͏ʹͳͬͨ wIUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPSQVMM w4QSJOH +BWB ͷ৔߹ wlJOUFSGBDF0OMZzͱ͍͏Φϓγϣϯ͕͋Δ wIUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPSCMPCNBTUFS EPDTHFOFSBUPSTTQSJOHNE 0QFO"1*(FOFSBUPS(FOFSBUJPO(BQύλʔϯΛద༻͢Δ

Slide 85

Slide 85 text

0QFO"1*(FOFSBUPS(FOFSBUJPO(BQύλʔϯΛద༻͢Δ w͜ͷΑ͏ͳػೳ͸δΣωϨʔλʹΑͬͯαϙʔτঢ়گ͕͞·͟· wΈͳ͞Μ͕ར༻͍ͨ͠δΣωϨʔλͰαϙʔτ͕ෆे෼ͳ৔߹͸ͥͻJTTVFΛ ্͛ͯΈ͍ͯͩ͘͞ w΋ͪΖΜϓϧϦΫΤετ΋େ׻ܴͰ͢

Slide 86

Slide 86 text

0QFO"1*(FOFSBUPSϓϧϦΫνϟϯε͔΋ wੜ੒ͨ͠ίʔυʹखΛೖΕͨ͘ͳͬͨͱ͖ɺ w΋͔ͨ͠͠Βͦͷमਖ਼͸0QFO"1*(FOFSBUPSࣗମʹೖΕͨํ͕ྑ͍ͷ͔΋͠ Ε·ͤΜ wϓϧϦΫνϟϯε͔΋ wࠃ಺ΤϯδχΞ޲͚ͷ(JUUFSνϟοτϧʔϜ͕͋Γ·͢ͷͰࠔΓ͝ͱ͕͋Ε ͹ͥͻؾܰʹ wIUUQTHJUUFSJNPQFOBQJHFOFSBUPSKBQBOFTF-PCCZ

Slide 87

Slide 87 text

ίʔυੜ੒Λ׆༻ͯ͠ ޮ཰తͳ։ൃΛʂ

Slide 88

Slide 88 text

Έͳ͞Μͷ͝ࢀՃΛ͓଴͍ͪͯ͠·͢ʂ

Slide 89

Slide 89 text

,&&1$"-. BOE (&/&3"5&$0%&