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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
Context Engineeringの取り組み
nutslove
0
360
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
620
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
130
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
170
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
370
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
580
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
ラッコキーワード サービス紹介資料
rakko
1
2.3M
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Believing is Seeing
oripsolob
1
56
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
The SEO identity crisis: Don't let AI make you average
varn
0
290
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
97
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
The SEO Collaboration Effect
kristinabergwall1
0
350
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 • ࣮ʼඒ͠͞ • վम͠·͘ΕΔઃܭ