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
Google API Design Guideを読んだまとめ
Search
peka2
May 09, 2017
Technology
0
92
Google API Design Guideを読んだまとめ
Google API Design GuideからAPI設計を学ぶ
peka2
May 09, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
310
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
Red Hat OpenStack Services on OpenShift
tamemiya
0
120
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
OpenShiftでllm-dを動かそう!
jpishikawa
0
130
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
170
Webhook best practices for rock solid and resilient deployments
glaforge
2
300
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Design in an AI World
tapps
0
140
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Practical Orchestrator
shlominoach
191
11k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
Discover your Explorer Soul
emna__ayadi
2
1.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
RailsConf 2023
tenderlove
30
1.3k
Crafting Experiences
bethany
1
49
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Transcript
Google API Design Guide Λ ಡΜͩ·ͱΊ @peka2
APIྺ • Yahoo! ϘοΫε APIઃܭɾ։ൃ • ϠϑΦΫAPIΨΠυϥΠϯ࡞ • ϠϑΦΫΞϓϦAPIઃܭɾ։ൃ
Ϟνϕʔγϣϯ • ࠷ۙެ։͞ΕͨAPIσβΠϯΨΠυ • TechGiantAPIઃܭ͔Βֶͼ͍ͨ
Google API Design Guideͱ • https://cloud.google.com/apis/design/ • 2017 2/20 ʹެ։͞Εͨ
• 2014͔ΒGoogle෦Ͱ࣮ࡍʹΘΕ͍ͯΔAPIσβΠϯΨ Πυ • REST, gRPC ͲͪΒʹͰ͑ΔΑ͏ʹ࡞ΒΕͯΔ • ܾఆ൛Ͱͳ͘ɺʑه͞Ε͍ͯ͘
Google API Design Guide • جຊRESTful
ΧελϜϝιου • httpϝιουʹϚοϐϯάͰ͖ͳ͍ૢ࡞ʹରͯ͠ɺ࡞ͬͯྑ ͍ • :ಈࢺ Λ࠷ޙʹ͚ͭͯࣔ͢ • ϝιουॊೈͰ͋ΔPOSTΛਪ •
PATCHͰ͏͖Ͱͳ͍ https://service.name/v1/some/resource/name:customVerb
ΧελϜϝιου༻ྫ • VM࠶ىಈ • ঢ়ଶͷભҠΛߦ͏APIɺ࠶ىಈϦιʔεΛ࡞ΔAPIΑΓɺΧελϜϝ ιουͷํ͕ײత • ϝʔϧૹ৴ • υϥϑτˠૹ৴τϨΠҠಈɺͱ͍͏σβΠϯΑΓɺΧελϜϝιο
υͷํ͕ײత • RESTfulʹͩ͜ΘΔΑΓɺϢʔβ͕ײతʹΘ͔Δ͜ͱ͕ॏཁ
ͦͦRESTfulͬͯ • ։ൃऀؒͷηϚϯςΟοΫΪϟοϓΛຒΊΔ͜ͱͰɺ୭ʹ ͰײతͳAPIΛઃܭͰ͖Δͷ͕རͷҰͭ • ແཧΓRESTfulΛద༻͢Δ͜ͱͰখ͍͠APIʹͳͬͯ ͠·͏ͳΒɺΧελϜϝιουͷ΄͏͕ײత
Τϥʔදݱ • Τϥʔίʔυগͳ͚Εগͳ͍΄Ͳɺ ΫϥΠΞϯτͷϩδοΫ͕ෳࡶʹͳΒ ͳͯ͘ࡁΉ • https://github.com/googleapis/ googleapis/blob/master/google/ rpc/code.proto •
15छྨ • statusʢΤϥʔίʔυʣྻͰͳ ͘ɺਓؒͰಡΊΔӳ୯ޠΛͬͯΔ
ϖʔδωʔγϣϯ • ϦετԽͰ͖ΔίϨΫγϣϯͲΜͳখ͞ͳͷͰϖʔδωʔ γϣϯΛ࣮͓͖ͯ͘͠ • طଘͷAPIʹϖʔδωʔγϣϯΛޙ͔Β࣮͢Δͱɺݩʑશ݅ ฦ͍ͯͨ͠ͷ͕̍ϖʔδʢσϑΥϧτϖʔδʣͷΈฦ͢ɺ ͱ͍͏Α͏ͳڍಈͷมߋ͕ൃੜͯ͠͠·͏͔Β • ϦΫΤετɿpage_sizeͱpage_token
Ϩεϙϯεɿnext_page_token
ଞ • *Ͱͳ͘-Λ͍·͠ΐ͏ • URLΤεέʔϓͷ߹্ • ϦιʔεͷҰ෦ͷϑΟʔϧυ͚ͩฦͤΔΑ͏ʹ͢Δͱศར • ϦιʔεΛfullͰͳ͘basicͳͷ͚ͩड͚औΕΔΑ͏ʹ͢Δͱศར •
APIυΩϡϝϯτͷ࡞Γํ • ͳͲͳͲɾɾɾ
·ͱΊ • RESTfulΛਪ͍ͯ͠Δ͕ײతͳઃܭΛॏࢹ • ෳαʔϏεͰ༷͕ࠞ͠ͳ͍Α͏ʹɺϖʔδωʔγϣϯ ͳͲϧʔϧ͕ݫ֨ʹܾ·͍ͬͯΔ • ༷ͱυΩϡϝϯτprotoϑΝΠϧͰཧ • APIઃܭͷࢿྉͱͯ͠े·ͱ·͍ͬͯͯ͑ͦ͏
https://speakerdeck.com/hirak/mercariday2017-api
• LSUDs • ͖Ε͍ͳAPI • SSKDs • ࣮ʼඒ͠͞ • վम͠·͘ΕΔઃܭ