Slide 1

Slide 1 text

3&45  ͷ੍໿
 
 ܊ࢁতਔ
 https://twitter.com/koriym

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

http://www.nextnature.net/2009/12/the-playboy-interview-marshall-mcluhan/ Marshall McLuhan
 (1911-1980)

Slide 4

Slide 4 text

–ϚʔγϟϧɾϚΫϧʔϋϯ l୭͕ਫΛൃݟͨ͠ͷ͔஌Βͳ͍͕ɺ
 ͦΕ͕ڕͰͳ͍͜ͱ͚ͩ͸͔֬ͩz

Slide 5

Slide 5 text

https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm ΞʔΩςΫνϟελΠϧͱωοτϫʔΫϕʔεͷιϑτ΢ΣΞΞʔΩςΫνϟͷઃܭɻത࢜࿦จɺΧϦϑΥϧχΞେֶΞʔόΠϯߍɺ2000೥

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

http://restfulwebapis.com/

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven

Slide 10

Slide 10 text

•REST API͸ݻఆͷϦιʔε໊΍֊૚Λఆٛͯ͠͸ͳΓ·ͤΜ •Ϧιʔεͷදݱ΍ΞϓϦέʔγϣϯঢ়ଶͷۦಈʹ࢖༻͞ΕΔ ϝσΟΞλΠϓͷఆٛɺ·ͨ͸طଘͷඪ४ϝσΟΞλΠϓʹର ͢Δ֦ுϦϨʔγϣϯ໊΍ϋΠύʔςΩετରԠϚʔΫΞο ϓͷఆٛʹɺͦͷهड़తͳ౒ྗͷ΄ͱΜͲ͢΂ͯΛඅ΍͢ඞ ཁ͕͋Γ·͢

Slide 11

Slide 11 text

https://twitter.com/fielding/status/376835835670167552

Slide 12

Slide 12 text

https://www.ca.com/content/dam/ca/jp/files/ebook/a-guide-to-rest-and-api-design.pdf

Slide 13

Slide 13 text

w ௿͍ࢀೖোน w ֦ுੑ w ෼ࢄϋΠύʔϝσΟΞ w Πϯλʔωοτن໛ 8FCͷ੒ޭཁҼͱͯ͠ͷ
 ͭͷॏཁͳ8FCͷΞʔΩςΫνϟͷಛੑ

Slide 14

Slide 14 text

௿͍ࢀೖোน w 8FCϒϥ΢βʹϚχϡΞϧ͸ෆཁ w ςΩετΤσΟλͰΦʔαϦϯάՄೳɺઃஔ΋؆୯

Slide 15

Slide 15 text

֦ுੑ w มΘΓଓ͚Δ͜ͱ͕Ͱ͖Δɻ w ֦ுੑ͕ͳ͍ͱʁγεςϜ͸Ұ౓͔͠σΟϓϩΠͰ͖ͣɺ৽͍͠ཁ݅ͷͨ ΊʹγεςϜΛ࡞Γ௚͞ͳ͚Ε͹ͳΒͳ͍ɻ

Slide 16

Slide 16 text

෼ࢄϋΠύʔϝσΟΞ w දݱ΍੍ޚ৘ใ͸ϦϞʔτʹ͋Δɻมߋʹ͸αʔόʔͷೝূ͕ඞཁɻ w ෼ࢄϋΠύʔϝσΟΞͷݪଇɿ w σʔλʹΑͬͯ͋ͳ͕ͨԿΛͰ͖Δ͔ʹ͍ͭͯͷࢦࣔΛड͚औΓʢʮϓϨθϯςʔ γϣϯͱ੍ޚ৘ใʯʣɺͦΕΛσʔλࣗମͱಉ͡Α͏ʹѻ͍·͢ɻαʔό͸ɺͦͷ͢ ΂ͯΛ୲౰͍ͯ͠·͢ɻ w ϦιʔεؒͷϦϯΫʢ҆શͳભҠʣɺϦιʔεঢ়ଶΛมߋʢ҆શͰͳ͍ભҠʣΛड͚औ ΔɻʢγεςϜ͸μΠφϛοΫʹมߋՄೳʣ w ֎෦ʹ࣋ͯ͹ɺαʔόʔͷಈ࡞͕มΘΕ͹ΫϥΞΠϯτ͕յΕқ͘ͳΔɻΫϥΠΞϯτ Λյͣ͞ʹαʔόʔͷಈ࡞Λม͑ΒΕͳ͍ͷͰ͋Ε͹ɺʹ֦ுੑ͕ͳ͍

Slide 17

Slide 17 text

Πϯλʔωοτن໛ w ແடংͳεέʔϥϏϦςΟ w ಠཱͨ͠഑උ

Slide 18

Slide 18 text

"1*˺8FC w ਓ͕͍ؒͳ͍ηϚϯςΟοΫΪϟοϓͷൃੜ w ࢀೖোนΛ௿͘͢Δ؆୯ͳํ๏͸ɺʮ෼ࢄϋΠύʔϝσΟΞʯಛੑΛࣺͯ ͯɺਓ͕ؒಡΊΔจষͰࣄલʹγεςϜΛهड़͢Δ͜ͱ֦ுੑɺΠϯ λʔωοτεέʔϧͷ૕ࣦ

Slide 19

Slide 19 text

"1*˺8FC w ௿͍ࢀೖোน ֦ுੑ w શͯͷΫϥΠΞϯτΛҰ౓ʹมߋ͢ΔඞཁɻΠϯλʔωοτن໛͸ͳ͘ͳ Δɻ෼ࢄϋΠύʔϝσΟΞͳ͠ɻʢࣾ಺"1*ʣ w Πϯλʔωοτن໛ ௿͍ࢀೖোน w ֦ுੑͱ෼ࢄϋΠύʔϝσΟΞΛఘΊΔʢݱࡏͷओྲྀʣ w ֦ுੑͱΠϯλʔωοτن໛ w ෼ࢄϋΠύʔϝσΟΞΛ࢖͍ɺ௿͍ࢀೖোน͸ࣦ͏

Slide 20

Slide 20 text

ϑΟʔϧσΟϯά੍໿ ̒ͭͷΞʔΩςΫνϟ੍໿ɹʴɹ̐ͭͷΠϯλʔϑΣΠεͷ੍໿
 
 ʹͷ੍໿  ؚ·ΕΔͨΊ਺͑ํʹΑΔ 

Slide 21

Slide 21 text

̐ͭͷΠϯλʔϑΣΠεͷ੍໿ w Ϧιʔεͷࣝผ 63*  w දݱʹΑΔϦιʔεૢ࡞ w ࣗݾهड़తϝοηʔδ w ϋΠύʔϝσΟΞ੍໿

Slide 22

Slide 22 text

ϝιουͷࣄͰ͸ͳ͍ w l౷ҰΠϯλʔϑΣΠεͱ͸৘ใͷૢ࡞ʢऔಘɾ࡞੒ɾߋ৽ɾ࡟আʣ͸౷Ұ ͞Εͨ)551ϝιουʢ(&5ɾ1045ɾ165ɾ%&-&5&ʣͰߦΘΕΔࣄz
 ؒҧ͍ w 3&45"1*$36%PWFS)551 w l.PEFM"DUJPOT /PU%BUBz TUPSBHFBTBTFSWJDF  w 63*͸͓Խহ w lऴΘΓͳ͖63*ٞ࿦z͸3&45ͱ͸ແؔ܎ 2007 2010

Slide 23

Slide 23 text

• ౷ҰΠϯλϑΣʔεɿ ͜ͷ੍໿͸ RESTful API ͷઃܭͷத֩Ͱ͋Γɺ4 ͭͷଆ໘ΛؚΈ·͢ɻ
 ◦ཁٻʹΑΔϦιʔεࣝผɿ Ϧιʔε͸ཁٻͰࣝผ͞ΕɺΫϥΠΞϯτʹฦ͞ΕΔදݱͱ͸ผͰ͢ɻ
 ◦දݱʹΑΔϦιʔεૢ࡞ɿ ΫϥΠΞϯτ͸ϦιʔεΛදݱ͢ΔϑΝΠϧΛड͚औΓ·͢ɻ͜ΕΒͷදݱ ʹ͸ɺमਖ਼΍࡟আΛՄೳʹ͢Δͷʹे෼ͳ৘ใؚ͕·Ε͍ͯΔ͜ͱ͕ඞཁͰ͢ɻ
 ◦ࣗݾهड़తϝοηʔδɿ ΫϥΠΞϯτʹฦ͞ΕΔ֤ϝοηʔδʹ͸ɺΫϥΠΞϯτ͕৘ใΛͲͷΑ͏ ʹॲཧ͢΂͖͔Λهड़͢Δे෼ͳ৘ใؚ͕·Ε͍ͯ·͢ɻ
 ◦ΞϓϦέʔγϣϯঢ়ଶͷΤϯδϯͱͯ͠ͷϋΠύʔϝσΟΞɿ ϦιʔεʹΞΫηεͨ͠ޙɺREST Ϋϥ ΠΞϯτ͸ɺݱࡏར༻Մೳͳଞͷ͢΂ͯͷΞΫγϣϯΛϋΠύʔϦϯΫΛ௨ͯ͡ݟ͚ͭΒΕΔඞཁ͕͋ Γ·͢ɻ
 https://www.redhat.com/ja/topics/api/what-are-application-programming-interfaces

Slide 24

Slide 24 text

Ϧιʔεͷࣝผ w ඇதԝγεςϜ w Ϧιʔεͷ*%63* w ❎୯Ұͷ63*ʹଟ͘ͷϦιʔεঢ়ଶʢయܕతϨετϥϯαΠτʣ

Slide 25

Slide 25 text

දݱʹΑΔϦιʔεૢ࡞ w ϦιʔεදݱՄೳͳԿͰ΋ w දݱͷ࣮ଶ͸όΠτྻzA representation is a sequence of bytes” 
 ʢ= ωοτϫʔΫͰసૹՄೳʣ w ඪ४Խ͞ΕͨHTTPϝιουʢGETͱPOSTʣͷηοτΛ࢖༻ͯ͠ަޓʹ දݱΛૹ৴͢Δ͜ͱʹΑͬͯϦιʔεΛૢ࡞

Slide 26

Slide 26 text

ࣗݾهड़తϝοηʔδ w )551ϝοηʔδ͸ड৴ऀ͕ཧղ͢ΔͨΊʹඞཁͳ͢΂ͯͷ৘ใΛؚΉ w $POUFOU5ZQF΍-JOLϔομɺzϓϩϑΝΠϧz΁ͷࢀর w Ωϟογϡ৘ใ w ࣦഊ w )551)PTUϔομʔ͕ͳ͍ w )551ϦΫΤετ͕෼͔Βͳ͍


Slide 27

Slide 27 text

w )ZQFSNFEJBBTUIFFOHJOFPGBQQMJDBUJPOTUBUF )"5&0"4  ϓϦέʔγϣϯঢ়ଶ͸ΫϥΠΞϯτଆʹอ࣋͞ΕΔɻΞϓϦέʔγϣϯঢ়ଶΛมߋ͢Δͷ͸Ϋϥ ΠΞϯτͷ੹೚ɻ ΫϥΠΞϯτ͸ɺ)551ϦΫΤετΛߦͬͯϨεϙϯεΛॲཧ͢Δ͜ͱʹΑͬͯͷΈɺͦͷΞϓ Ϧέʔγϣϯঢ়ଶΛมߋ͢Δ͜ͱ͕Ͱ͖Δɻ ࣍ͷΞΫγϣϯ͸දݱͷதͷϋΠύʔϝσΟΞίϯτϩʔϧʹ͋Δ ͭ·ΓɺϋΠύʔϝσΟΞίϯτϩʔϧ͸ɺΞϓϦέʔγϣϯঢ়ଶͷมԽͷݪಈྗ ϋΠύʔϝσΟΞ੍໿

Slide 28

Slide 28 text

w ΫϥΠΞϯτʗαʔό w εςʔτϨεੑ w Ωϟογϡ w ౷ҰΠϯλϑΣʔεɹ ͭͷΠϯλʔϑΣΠε੍໿ʣ w ֊૚ԽγεςϜ w ίʔυΦϯσϚϯυ ̒ͭͷΞʔΩςΫνϟ੍໿

Slide 29

Slide 29 text

https://www.ca.com/content/dam/ca/jp/files/ebook/a-guide-to-rest-and-api-design.pdf

Slide 30

Slide 30 text

/6--੍໿ w ੍໿͕ଘࡏͤͣίϯϙʔωϯτΛִͯΔ΋ͷ͕ͳ͍ঢ়ଶ w ̎ͭͷઃܭͷϓϩηε w ίϯϙʔωϯτ͔Βߏஙɺ૑଄ੑͱແݶͷϏδϣϯΛڧௐ w ઃܭۭؒΛ۠ผ੍͠໿Λద༻͢Δɺ཈੍ͱཧղΛڧௐɹ ˡ3&45ʣ

Slide 31

Slide 31 text

ΫϥΠΞϯτʗαʔό w 74ΠϕϯτͷϒϩʔυΩϟετͱ๣ड

Slide 32

Slide 32 text

εςʔτϨεੑ w ϦΫΤετؒ͸ແؔ܎ w ΞϓϦέʔγϣϯঢ়ଶͷҰ෦͕ͱͯ΋ॏཁͰɺαʔό͕ؾʹ͢Δඞཁ͕͋ Δ৔߹͸ɺͦΕ͸Ϧιʔεঢ়ଶʹͳΔ΂͖ɻʢ63*Λ௥Ճʣ w $PPLJF͸ҧ൓ɹڞ༗Ωϟογϡ͕࢖͑ͳ͘ͳΓɺεέʔϥϏϦςΟ͕௿ Լ͢Δɻ

Slide 33

Slide 33 text

Ωϟογϡ w ࣗݾهड़తϝοηʔδ੍໿ εςʔτϨε੍໿ w l5IFCFTUBQQMJDBUJPOQFSGPSNBODFJTPCUBJOFECZOPUVTJOHUIF OFUXPSLz

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

NBYBHF

Slide 37

Slide 37 text

Server (&5CPPL
 "DDFQU-BOHVBHF+" + $BDIF$POUSPMFNBYBHF 7BSZ"DDFQU-BOHVBHF (&5CPPL
 "DDFQU-BOHVBHF+" ඵ༗ޮ

Slide 38

Slide 38 text

Server (&5CPPL
 "DDFQU-BOHVBHF+" + $BDIF$POUSPMFNBYBHF 7BSZ"DDFQU-BOHVBHF (&5CPPL
 "DDFQU-BOHVBHF&/ & $BDIF$POUSPMFNBYBHF 7BSZ"DDFQU-BOHVBHF

Slide 39

Slide 39 text

৚݅෇͖ϦΫΤετ

Slide 40

Slide 40 text

Server (&5DBU &5BH (&5DBU
 *G/POF.BUDI /PU.PEJpFE  

Slide 41

Slide 41 text

Server (&5DBU &5BH (&5DBU
 *G/POF.BUDI 0,&UBH  

Slide 42

Slide 42 text

1VCMJD$BDIF

Slide 43

Slide 43 text

$  Server (&5DBU  (&5DBU $BDIF$POUSPMFQVCMJD 
 NBYBHF

Slide 44

Slide 44 text

Ωϟογϡઃܭ w 55-&5BH w QVCMJD QSJWBUF  w OPDBDIFPSOPTUPSF

Slide 45

Slide 45 text

౷ҰΠϯλϑΣʔε w ΞυϨεՄೳੑɺදݱΛ௨ͨ͠Ϧιʔεͷૢ࡞ɺࣗݾهड़తϝοηʔ δɺͦͯ͠ϋΠύʔϝσΟΞ੍໿ w ʮେ͖ͳཻ౓ͷϋΠύʔϝσΟΞσʔλసૹʯ໰୊ w ߴ͍ϨΠςϯγͷʮ͓͠Ό΂Γʯ"1*໰୊

Slide 46

Slide 46 text

֊૚ԽγεςϜ w )551γεςϜͷதͷίϯϙʔωϯτ w $4ͷଞʹϓϩΩγͱήʔτ΢ΣΠ w ಁ໌ͳૢ࡞

Slide 47

Slide 47 text

ίʔυΦϯσϚϯυ w Ϧιʔεͷॲཧͷϊ΢ϋ΢ w ΋͠μ΢ϯϩʔυ͕ඞཁͳݴޠͩͬͨΒʁ֦ுੑͷഁյ w Մࢹੑͷܽ೗ w ϋΠύʔϝσΟΞΛར༻ͨ͠ίʔυ͸յΕʹ͍͘ɻ

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

8FCͷ੒ޭཁҼ ௿͍ࢀೖোน WebΛ࢖͏ํ๏ΛֶͿͷ͸؆୯ͰɺWebαΠτΛߏங͢Δͷ΋؆୯Ͱ͢ɻ ֦ுੑ ݸʑͷWebαΠτ͸ɺΫϥΠΞϯτΛյ͢͜ͱͳ͘ɺҰ൩Ͱมߋ͢Δ͜ͱ͕Ͱ͖·͢ɻ਺े೥ʹΘ ͨͬͯɺWebͷશମ͸େ෯ʹมߋ͞Ε·͕͢ɺجૅͱͳΔٕज़͸͢΂ͯ͋·ΓมԽ͠·ͤΜɻ ෼ࢄϋΠύʔϝσΟΞ ΫϥΠΞϯτ͕αʔόͷσʔλͰͰ͖Δ͜ͱʹ͍ͭͯͷ৘ใ͸ɺσʔλͱಉ͡৔ॴʹอ࣋͞Εͯɺಉ ͡υΩϡϝϯτͰΫϥΠΞϯτʹૹ৴͞Ε·͢ɻ Πϯλʔωοτن໛ γεςϜͷ෦෼ಉ࢜ʹ௕ظతͳؔ܎͸ͳ͘ɺҟͳΔ෦෼͸ҟͳΔ଎౓ͰมԽͰ͖·͢ɻ http://restfulwebapis.com

Slide 51

Slide 51 text

ͭͷΞʔΩςΫνϟ੍໿ ΫϥΠΞϯτʗαʔό Webͷશͯͷ௨৴͸ɺ1ର1Ͱ͢ɻ εςʔτϨε ΫϥΠΞϯτ͕ݱࡏϦΫΤετΛߦ͍ͬͯͳ͍ͱ͖͸ɺαʔό͸ͦͷଘࡏΛ஌Γ·ͤΜɻ Ωϟογϡ ΫϥΠΞϯτ͸Ωϟογϡ͔ΒҎલͷϨεϙϯεΛ࠶ར༻͢Δ͜ͱͰɺωοτϫʔΫ্ͷҠಈΛอଘ͢Δ͜ͱ ͕Ͱ͖·͢ɻ ֊૚ԽγεςϜ ϓϩΩγͷΑ͏ͳ஥հऀ͸ɺΫϥΠΞϯτͱαʔόͷؒʹݟ͑ͳ͍Α͏ʹૠೖ͢Δ͜ͱ͕Ͱ͖·͢ɻ ίʔυΦϯσϚϯυ αʔό͸ɺσʔλʹՃ࣮͑ͯߦՄೳͳίʔυΛૹ৴͢Δ͜ͱ͕Ͱ͖·͢ɻ͜ͷίʔυ͸ɺΫϥΠΞϯτ͕ϦΫ Τετͨ͠ͱ͖ʹࣗಈతʹ഑උ͞ΕɺͦΕ͕มߋ͞Εͨ৔߹͸ࣗಈతʹ࠶഑උ͞Ε·͢ɻ http://restfulwebapis.com

Slide 52

Slide 52 text

ͭͷΠϯλϑΣʔε੍໿ Ϧιʔεͷࣝผ ֤Ϧιʔε͸ɺมΘΒͳ͍URIʹΑͬͯࣝผ͞Ε·͢ɻ දݱΛ௨ͨ͠Ϧιʔεͷૢ࡞ αʔό͸ΫϥΠΞϯτʹදݱΛૹ৴͢Δ͜ͱʹΑΓɺϦιʔεঢ়ଶΛઆ໌͠·͢ɻΫϥΠΞϯτ͸αʔό ʹදݱΛૹ৴͢Δ͜ͱʹΑΓɺϦιʔεঢ়ଶΛૢ࡞͠·͢ɻ ࣗݾهड़తϝοηʔδ ϦΫΤετ΍ϨεϙϯεϝοηʔδΛཧղ͢ΔͨΊʹඞཁͳ͢΂ͯͷ৘ใ͸ɺϝοηʔδࣗ਎ʹؚ·Εͯ ͍·͢ʢ͋Δ͍͸ɺগͳ͘ͱ΋ϦϯΫ͞Ε͍ͯ·͢ʣɻ ϋΠύʔϝσΟΞ੍໿ αʔό͸ɺΫϥΠΞϯτ͕ࣗ༝ʹબ୒͢ΔΦϓγϣϯΛؚΉϋΠύʔϝσΟΞʮϝχϡʔʯΛૹ৴͢Δ͜ͱ ʹΑΓɺΫϥΠΞϯτͷঢ়ଶΛૢ࡞͠·͢ɻ http://restfulwebapis.com

Slide 53

Slide 53 text

"1*ઃܭઓུ 1.γεςϜ͕࣋ͭͱΑͦ͞͏ͳ͢΂ͯͷΞʔΩςΫνϟͷಛੑΛॻ͖ཹΊ·͢ɻ
 2.ͦΕΒͷϓϩύςΟͷதͰຊ౰ʹඞཁͱ͍ͯ͠Δ΋ͷͱɺ٘ਜ਼ʹͯ͠΋Α͍΋ͷΛߟ͑·͢ɻ
 3.ຊ౰ʹඞཁͱ͍ͯ͠ΔಛੑΛγεςϜʹ༩͑ΔΑ͏ͳɺΞʔΩςΫνϟ੍໿ͷηοτΛݟ͚ͭ·͢ɻ
 4.ͦͷ੍໿Λ۩ݱԽ͢ΔͨΊʹҰॹʹಈ͘ϓϩτίϧͱଞͷඪ४ͷηοτΛઃܭ͠·͢ʢHTTPɺ URIɺHTMLɺJavaScriptʣɻ
 5.਺े೥ʹΘͨͬͯɺ໰୊͕໌Β͔ʹͳΔΑ͏ʹɺ2-4ʢHTTP 0.9ɺHTTP 1.0ɺHTTP 1.1ɺ͓Αͼࠓ ޙͷHTTP 2.0ʣΛ܁Γฦ͠·͢ɻ
 http://restfulwebapis.com

Slide 54

Slide 54 text

Web API͸ɺ৽੍͍͠໿Λಋೖ͠·͢ɻηϚϯςΟοΫΪϟοϓͰ͢ɻࢲͨͪ͸10೥Ҏ্ʹΘͨΔηϚϯςΟοΫΪϟοϓΛத৺ʹ ٞ࿦͠ɺ͍͔ͭ͘ͷϑΟʔϧσΟϯά੍໿͸·ͩॏཁͰ͋Δͱ͍͏߹ҙʹୡͨ͠΋ͷͷɺղܾࡦ͸Ͳ͜ʹ΋ݟ͍͑ͯ·ͤΜɻ͋ͳ ͕ͨ͜ͷٞ࿦ͷͲͪΒଆʹ͍Δ͔Λ͔֬ΊΔʹ͸ɺ͋ͳͨʹͱͬͯ࠷΋ॏཁͳWebͷΞʔΩςΫνϟͷಛੑΛܾఆ͢Δඞཁ͕͋Γ ·͢ɻ
 ͦΕ͸௿͍ࢀೖোนɺͭ·Γਓʑ͕αΠτݻ༗ͷτϨʔχϯάͳ͠ʹWebαΠτΛ࢖༻͢Δ͜ͱΛՄೳʹ͢ΔಛੑͰ͔͢ʁ ֦ு ੑɺͭ·ΓWebαΠτ͕ΫϥΠΞϯτΛյ͢͜ͱͳ͘׬શͳ࠶ઃܭʹ଱͑Δ͜ͱΛՄೳʹ͢ΔಛੑͰ͔͢ʁ ͦΕͱ΋Πϯλʔωο τن໛ɺͭ·Γ୭΋͕ࣗ෼ͷ޷͖ͳWebϒϥ΢βΛ࢖༻ͯ͠ɺࣗ෼ͷϖʔεͰΞοϓάϨʔυ͢Δ͜ͱΛՄೳʹ͢ΔಛੑͰ͔͢ʁ
 ࢲ͸ɺ௿͍ࢀೖোนΛ٘ਜ਼ʹͯ͠ɺ֦ுੑͱΠϯλʔωοτن໛Λબ୒͠·ͨ͠ɻͦΕ͸ɺ·͞ʹηϚϯςΟοΫΪϟοϓͦΕࣗ ମ͕ࢀೖোนΛൃੜ͍ͤͯ͞Δ͔ΒͰ͢ɻͲΜͳAPIΛ࢖༻͢Δͷ΋ɺಉ౳ͷWebαΠτΑΓࠔ೉Ͱ͢ɻϋΠύʔϝσΟΞϕʔεͷ ઃܭ͸ɺΑΓߴ͍ࢀೖোนΛൃੜͤ͞·͕͢ɺ֦ுੑͱΠϯλʔωοτن໛Λ͋ͳͨʹ༩͑·͢ɻͦΕ͸௕ظతʹෆՄܽͳ΋ͷͰ ͢ɻ
 ͦͯ͠ɺ͜Ε͸௕ظతͳϓϩδΣΫτͰ͢ɻࢲͨͪ͸ɺҰൠతͳϋΠύʔϝσΟΞλΠϓ΍ΞϓϦέʔγϣϯηϚϯςΟΫεͷڞ௨ ηοτΛ࢖༻͢Δͱ͍͏ڠఆʹΑͬͯɺΑΓݡ͍ΫϥΠΞϯτϥΠϒϥϦΛ࢖ͬͯࢀೖোนΛԼ͛Δ͜ͱ͕Ͱ͖·͢ɻ͔͠͠ɺࢲ ͕֦ͨͪுੑ΍Πϯλʔωοτن໛Λ์غͨ͠ͳΒɺͦΕΒΛऔΓ໭͢͜ͱ͸ܾͯ͠ͳ͍Ͱ͠ΐ͏ɻ http://restfulwebapis.com

Slide 55

Slide 55 text

r3&45GVM8FC"1* l5IF8FCIBTCFFOLFFQJOHJUTVTFSTIBQQZGPSZFBST #JMMJPOEPMMBSFNQJSFTIBWFSJTFOBOEGBMMFOBOECFFOSFQMBDFECZ OFXFNQJSFT BMMCBTFEPOUIFTBNFGPVSUFDIOPMPHJFT
 )551 63* )5.- BOE+BWB4DSJQUz http://restfulwebapis.com

Slide 56

Slide 56 text

!NBNVOE !38"#PPL TQFDJBMUIBOLT
 !ULBXB UBML
 !LPSJZN ͜ͷεϥΠυ͸ॻ੶ʮ3&45GVM8FC"1*Tʯͷ෇࿥ͷதͰ.JLF"NVOETFOࢯ͕
 'JFMEJOHത࢜ͷ3&45࿦จΛʮ"O"1*%FTJHOFS`T(VJEFUPUIF'JFMEJOH%JTTFSUBUJPOʯ ͱͯ͠঺հ͍ͯ͠ΔՕॴΛ͞ΒʹղઆΛՃ͑ͯτʔΫʹͨ͠΋ͷͰ͢ɻ !NBNVOEࢯͱͦͷॻ੶ͷษڧձΛ௕ظؒʹ౉ͬͯ։࠵ͨ͠!ULBXBࢯʹײँ͠·͢ɻ