Upgrade to Pro — share decks privately, control downloads, hide ads and more …

REST 6+4=9の制約

REST 6+4=9の制約

このスライドは書籍「RESTful Web APIs」の付録の中でMike Amundsen氏が
Fielding博士のREST論文を「An API Designer’s Guide to the Fielding Dissertation」
として紹介している箇所の解説です。

RESTful Web APIs
https://amzn.to/2FSF0HD

Aad26cd7119bd8c0c2bbea107515716d?s=128

Akihito Koriyama

March 13, 2019
Tweet

Transcript

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

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

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

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

  6. None
  7. http://restfulwebapis.com/

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

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

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

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

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

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

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

  16. ෼ࢄϋΠύʔϝσΟΞ w දݱ΍੍ޚ৘ใ͸ϦϞʔτʹ͋Δɻมߋʹ͸αʔόʔͷೝূ͕ඞཁɻ w ෼ࢄϋΠύʔϝσΟΞͷݪଇɿ w σʔλʹΑͬͯ͋ͳ͕ͨԿΛͰ͖Δ͔ʹ͍ͭͯͷࢦࣔΛड͚औΓʢʮϓϨθϯςʔ γϣϯͱ੍ޚ৘ใʯʣɺͦΕΛσʔλࣗମͱಉ͡Α͏ʹѻ͍·͢ɻαʔό͸ɺͦͷ͢ ΂ͯΛ୲౰͍ͯ͠·͢ɻ w

    ϦιʔεؒͷϦϯΫʢ҆શͳભҠʣɺϦιʔεঢ়ଶΛมߋʢ҆શͰͳ͍ભҠʣΛड͚औ ΔɻʢγεςϜ͸μΠφϛοΫʹมߋՄೳʣ w ֎෦ʹ࣋ͯ͹ɺαʔόʔͷಈ࡞͕มΘΕ͹ΫϥΞΠϯτ͕յΕқ͘ͳΔɻΫϥΠΞϯτ Λյͣ͞ʹαʔόʔͷಈ࡞Λม͑ΒΕͳ͍ͷͰ͋Ε͹ɺʹ֦ுੑ͕ͳ͍
  17. Πϯλʔωοτن໛ w ແடংͳεέʔϥϏϦςΟ w ಠཱͨ͠഑උ

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

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

    w ֦ுੑͱ෼ࢄϋΠύʔϝσΟΞΛఘΊΔʢݱࡏͷओྲྀʣ w ֦ுੑͱΠϯλʔωοτن໛ w ෼ࢄϋΠύʔϝσΟΞΛ࢖͍ɺ௿͍ࢀೖোน͸ࣦ͏
  20. ϑΟʔϧσΟϯά੍໿ ̒ͭͷΞʔΩςΫνϟ੍໿ɹʴɹ̐ͭͷΠϯλʔϑΣΠεͷ੍໿
 
 ʹͷ੍໿  ؚ·ΕΔͨΊ਺͑ํʹΑΔ 

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

    ϋΠύʔϝσΟΞ੍໿
  22. ϝιουͷࣄͰ͸ͳ͍ 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
  23. • ౷ҰΠϯλϑΣʔεɿ ͜ͷ੍໿͸ RESTful API ͷઃܭͷத֩Ͱ͋Γɺ4 ͭͷଆ໘ΛؚΈ·͢ɻ
 ◦ཁٻʹΑΔϦιʔεࣝผɿ Ϧιʔε͸ཁٻͰࣝผ͞ΕɺΫϥΠΞϯτʹฦ͞ΕΔදݱͱ͸ผͰ͢ɻ
 ◦දݱʹΑΔϦιʔεૢ࡞ɿ

    ΫϥΠΞϯτ͸ϦιʔεΛදݱ͢ΔϑΝΠϧΛड͚औΓ·͢ɻ͜ΕΒͷදݱ ʹ͸ɺमਖ਼΍࡟আΛՄೳʹ͢Δͷʹे෼ͳ৘ใؚ͕·Ε͍ͯΔ͜ͱ͕ඞཁͰ͢ɻ
 ◦ࣗݾهड़తϝοηʔδɿ ΫϥΠΞϯτʹฦ͞ΕΔ֤ϝοηʔδʹ͸ɺΫϥΠΞϯτ͕৘ใΛͲͷΑ͏ ʹॲཧ͢΂͖͔Λهड़͢Δे෼ͳ৘ใؚ͕·Ε͍ͯ·͢ɻ
 ◦ΞϓϦέʔγϣϯঢ়ଶͷΤϯδϯͱͯ͠ͷϋΠύʔϝσΟΞɿ ϦιʔεʹΞΫηεͨ͠ޙɺREST Ϋϥ ΠΞϯτ͸ɺݱࡏར༻Մೳͳଞͷ͢΂ͯͷΞΫγϣϯΛϋΠύʔϦϯΫΛ௨ͯ͡ݟ͚ͭΒΕΔඞཁ͕͋ Γ·͢ɻ
 https://www.redhat.com/ja/topics/api/what-are-application-programming-interfaces
  24. Ϧιʔεͷࣝผ w ඇதԝγεςϜ w Ϧιʔεͷ*%63* w ❎୯Ұͷ63*ʹଟ͘ͷϦιʔεঢ়ଶʢయܕతϨετϥϯαΠτʣ

  25. දݱʹΑΔϦιʔεૢ࡞ w ϦιʔεදݱՄೳͳԿͰ΋ w දݱͷ࣮ଶ͸όΠτྻzA representation is a sequence of

    bytes” 
 ʢ= ωοτϫʔΫͰసૹՄೳʣ w ඪ४Խ͞ΕͨHTTPϝιουʢGETͱPOSTʣͷηοτΛ࢖༻ͯ͠ަޓʹ දݱΛૹ৴͢Δ͜ͱʹΑͬͯϦιʔεΛૢ࡞
  26. ࣗݾهड़తϝοηʔδ w )551ϝοηʔδ͸ड৴ऀ͕ཧղ͢ΔͨΊʹඞཁͳ͢΂ͯͷ৘ใΛؚΉ w $POUFOU5ZQF΍-JOLϔομɺzϓϩϑΝΠϧz΁ͷࢀর w Ωϟογϡ৘ใ w ࣦഊ w

    )551)PTUϔομʔ͕ͳ͍ w )551ϦΫΤετ͕෼͔Βͳ͍

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

    ϋΠύʔϝσΟΞ੍໿
  28. w ΫϥΠΞϯτʗαʔό w εςʔτϨεੑ w Ωϟογϡ w ౷ҰΠϯλϑΣʔεɹ ͭͷΠϯλʔϑΣΠε੍໿ʣ w

    ֊૚ԽγεςϜ w ίʔυΦϯσϚϯυ ̒ͭͷΞʔΩςΫνϟ੍໿
  29. https://www.ca.com/content/dam/ca/jp/files/ebook/a-guide-to-rest-and-api-design.pdf

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

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

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

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

  34. None
  35. None
  36. NBYBHF

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

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

    7BSZ"DDFQU-BOHVBHF
  39. ৚݅෇͖ϦΫΤετ

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

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

  42. 1VCMJD$BDIF

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

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

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

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

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

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

    γεςϜͷ෦෼ಉ࢜ʹ௕ظతͳؔ܎͸ͳ͘ɺҟͳΔ෦෼͸ҟͳΔ଎౓ͰมԽͰ͖·͢ɻ http://restfulwebapis.com
  51. ͭͷΞʔΩςΫνϟ੍໿ ΫϥΠΞϯτʗαʔό Webͷશͯͷ௨৴͸ɺ1ର1Ͱ͢ɻ εςʔτϨε ΫϥΠΞϯτ͕ݱࡏϦΫΤετΛߦ͍ͬͯͳ͍ͱ͖͸ɺαʔό͸ͦͷଘࡏΛ஌Γ·ͤΜɻ Ωϟογϡ ΫϥΠΞϯτ͸Ωϟογϡ͔ΒҎલͷϨεϙϯεΛ࠶ར༻͢Δ͜ͱͰɺωοτϫʔΫ্ͷҠಈΛอଘ͢Δ͜ͱ ͕Ͱ͖·͢ɻ ֊૚ԽγεςϜ ϓϩΩγͷΑ͏ͳ஥հऀ͸ɺΫϥΠΞϯτͱαʔόͷؒʹݟ͑ͳ͍Α͏ʹૠೖ͢Δ͜ͱ͕Ͱ͖·͢ɻ

    ίʔυΦϯσϚϯυ αʔό͸ɺσʔλʹՃ࣮͑ͯߦՄೳͳίʔυΛૹ৴͢Δ͜ͱ͕Ͱ͖·͢ɻ͜ͷίʔυ͸ɺΫϥΠΞϯτ͕ϦΫ Τετͨ͠ͱ͖ʹࣗಈతʹ഑උ͞ΕɺͦΕ͕มߋ͞Εͨ৔߹͸ࣗಈతʹ࠶഑උ͞Ε·͢ɻ http://restfulwebapis.com
  52. ͭͷΠϯλϑΣʔε੍໿ Ϧιʔεͷࣝผ ֤Ϧιʔε͸ɺมΘΒͳ͍URIʹΑͬͯࣝผ͞Ε·͢ɻ දݱΛ௨ͨ͠Ϧιʔεͷૢ࡞ αʔό͸ΫϥΠΞϯτʹදݱΛૹ৴͢Δ͜ͱʹΑΓɺϦιʔεঢ়ଶΛઆ໌͠·͢ɻΫϥΠΞϯτ͸αʔό ʹදݱΛૹ৴͢Δ͜ͱʹΑΓɺϦιʔεঢ়ଶΛૢ࡞͠·͢ɻ ࣗݾهड़తϝοηʔδ ϦΫΤετ΍ϨεϙϯεϝοηʔδΛཧղ͢ΔͨΊʹඞཁͳ͢΂ͯͷ৘ใ͸ɺϝοηʔδࣗ਎ʹؚ·Εͯ ͍·͢ʢ͋Δ͍͸ɺগͳ͘ͱ΋ϦϯΫ͞Ε͍ͯ·͢ʣɻ ϋΠύʔϝσΟΞ੍໿

    αʔό͸ɺΫϥΠΞϯτ͕ࣗ༝ʹબ୒͢ΔΦϓγϣϯΛؚΉϋΠύʔϝσΟΞʮϝχϡʔʯΛૹ৴͢Δ͜ͱ ʹΑΓɺΫϥΠΞϯτͷঢ়ଶΛૢ࡞͠·͢ɻ http://restfulwebapis.com
  53. "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
  54. Web API͸ɺ৽੍͍͠໿Λಋೖ͠·͢ɻηϚϯςΟοΫΪϟοϓͰ͢ɻࢲͨͪ͸10೥Ҏ্ʹΘͨΔηϚϯςΟοΫΪϟοϓΛத৺ʹ ٞ࿦͠ɺ͍͔ͭ͘ͷϑΟʔϧσΟϯά੍໿͸·ͩॏཁͰ͋Δͱ͍͏߹ҙʹୡͨ͠΋ͷͷɺղܾࡦ͸Ͳ͜ʹ΋ݟ͍͑ͯ·ͤΜɻ͋ͳ ͕ͨ͜ͷٞ࿦ͷͲͪΒଆʹ͍Δ͔Λ͔֬ΊΔʹ͸ɺ͋ͳͨʹͱͬͯ࠷΋ॏཁͳWebͷΞʔΩςΫνϟͷಛੑΛܾఆ͢Δඞཁ͕͋Γ ·͢ɻ
 ͦΕ͸௿͍ࢀೖোนɺͭ·Γਓʑ͕αΠτݻ༗ͷτϨʔχϯάͳ͠ʹWebαΠτΛ࢖༻͢Δ͜ͱΛՄೳʹ͢ΔಛੑͰ͔͢ʁ ֦ு ੑɺͭ·ΓWebαΠτ͕ΫϥΠΞϯτΛյ͢͜ͱͳ͘׬શͳ࠶ઃܭʹ଱͑Δ͜ͱΛՄೳʹ͢ΔಛੑͰ͔͢ʁ ͦΕͱ΋Πϯλʔωο τن໛ɺͭ·Γ୭΋͕ࣗ෼ͷ޷͖ͳWebϒϥ΢βΛ࢖༻ͯ͠ɺࣗ෼ͷϖʔεͰΞοϓάϨʔυ͢Δ͜ͱΛՄೳʹ͢ΔಛੑͰ͔͢ʁ


    ࢲ͸ɺ௿͍ࢀೖোนΛ٘ਜ਼ʹͯ͠ɺ֦ுੑͱΠϯλʔωοτن໛Λબ୒͠·ͨ͠ɻͦΕ͸ɺ·͞ʹηϚϯςΟοΫΪϟοϓͦΕࣗ ମ͕ࢀೖোนΛൃੜ͍ͤͯ͞Δ͔ΒͰ͢ɻͲΜͳAPIΛ࢖༻͢Δͷ΋ɺಉ౳ͷWebαΠτΑΓࠔ೉Ͱ͢ɻϋΠύʔϝσΟΞϕʔεͷ ઃܭ͸ɺΑΓߴ͍ࢀೖোนΛൃੜͤ͞·͕͢ɺ֦ுੑͱΠϯλʔωοτن໛Λ͋ͳͨʹ༩͑·͢ɻͦΕ͸௕ظతʹෆՄܽͳ΋ͷͰ ͢ɻ
 ͦͯ͠ɺ͜Ε͸௕ظతͳϓϩδΣΫτͰ͢ɻࢲͨͪ͸ɺҰൠతͳϋΠύʔϝσΟΞλΠϓ΍ΞϓϦέʔγϣϯηϚϯςΟΫεͷڞ௨ ηοτΛ࢖༻͢Δͱ͍͏ڠఆʹΑͬͯɺΑΓݡ͍ΫϥΠΞϯτϥΠϒϥϦΛ࢖ͬͯࢀೖোนΛԼ͛Δ͜ͱ͕Ͱ͖·͢ɻ͔͠͠ɺࢲ ͕֦ͨͪுੑ΍Πϯλʔωοτن໛Λ์غͨ͠ͳΒɺͦΕΒΛऔΓ໭͢͜ͱ͸ܾͯ͠ͳ͍Ͱ͠ΐ͏ɻ http://restfulwebapis.com
  55. r3&45GVM8FC"1* l5IF8FCIBTCFFOLFFQJOHJUTVTFSTIBQQZGPSZFBST #JMMJPOEPMMBSFNQJSFTIBWFSJTFOBOEGBMMFOBOECFFOSFQMBDFECZ OFXFNQJSFT BMMCBTFEPOUIFTBNFGPVSUFDIOPMPHJFT
 )551 63* )5.- BOE+BWB4DSJQUz http://restfulwebapis.com

  56. !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ࢯʹײँ͠·͢ɻ