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
OpenAPIことはじめ
Search
ゆるゆる
September 24, 2021
Programming
0
120
OpenAPIことはじめ
技育CAMP 2021-09 で発表した内容です
https://talent.supporterz.jp/events/c01ce860-9f20-40ce-8d6b-46b14e1b3f25/
ゆるゆる
September 24, 2021
Tweet
Share
More Decks by ゆるゆる
See All by ゆるゆる
改行には気をつけよう
sunyryr
0
54
Docker bake(とCache)でCI/CDを改善する
sunyryr
0
620
WebAPI の設計
sunyryr
0
87
OpenAPI×LaravelでAPI開発を格段に便利にする方法
sunyryr
0
1.1k
server side swift - codable
sunyryr
0
250
iOSアプリだけじゃないSwift
sunyryr
0
160
Other Decks in Programming
See All in Programming
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
140
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
3
6.1k
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
340
iOSでSVG画像を扱う
kishikawakatsumi
0
160
Devoxx BE - Local Development in the AI Era
kdubois
0
140
CSC509 Lecture 07
javiergs
PRO
0
240
XP, Testing and ninja testing ZOZ5
m_seki
3
820
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
10
37k
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
630
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
530
CSC305 Lecture 10
javiergs
PRO
0
230
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Designing for humans not robots
tammielis
254
26k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
580
Making Projects Easy
brettharned
120
6.4k
Practical Orchestrator
shlominoach
190
11k
We Have a Design System, Now What?
morganepeng
53
7.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Transcript
OpenAPI͜ͱ͡Ί ٕҭCAMP 2021/09/24 @sun-yryr / גࣜձࣾΏΊΈ
ΏΔΏΔ / sun-yryr / @taittide w גࣜձࣾΏΊΈ৽ଔೖࣾ w 4FSWFSTJEF&OHJOFFS 1)1
/PEFKT ͬͯ·͢ɻ GitHub Twitter ܦྺ ͖ͳ͜ͱ w 4XJGU 4FSWFSTJEF $*$% w 75VCFS taittide sunyryr
͘͡ • OpenAPI / Swaggerͱ • ͳͥOpenAPIΛ͏ͷ͔ • OASͷߏ •
OpenAPI͔Βίʔυͷࣗಈੜʹ͍ͭͯ
OpenAPI / Swaggerͱ • REST APIͷهड़ϑΥʔϚοτ • yaml or jsonͰهड़Ͱ͖Δ
• Ұੲલ·ͰSwagger Speci fi cation͕ଘࡏ͍ͯͨ͠ ͜ΕΛݩʹ֦ு͞ΕͯݱࡏΘΕ͍ͯΔͷ͕OpenAPI(Speci fi cation) • ݱࡏόʔδϣϯ3
OpenAPI / Swaggerͱ • OAS(OpenAPI Speci fi cation) Λิॿ͢Δπʔϧͷ૯শ •
Swagger Editor (هड़ɾม) • Swagger UI (දࣔ) • Swagger Codegen (ίʔυੜ)
ͳͥ͏ͷ͔ • ༷͕ݟ͍͢ • ΄΅ελϯμʔυʹͳ͖͍ͬͯͯΔͷͰڞ༗͕͍͢͠ • ίʔυͷࣗಈੜ͕ศར͗͢Δ • ϓϩάϥϜͰѻ͍͍͢
ͳͥ͏ͷ͔ • ༷͕ݟ͍͢ • ΄΅ελϯμʔυʹͳ͖͍ͬͯͯΔͷͰڞ༗͕͍͢͠ • ίʔυͷࣗಈੜ͕ศར͗͢Δ • ϓϩάϥϜͰѻ͍͍͢
ͳͥ͏ͷ͔ • ༷͕ݟ͍͢ • ΄΅ελϯμʔυʹͳ͖͍ͬͯͯΔͷͰڞ༗͕͍͢͠ • ίʔυͷࣗಈੜ͕ศར͗͢Δ • ϓϩάϥϜͰѻ͍͍͢
ͳͥ͏ͷ͔ • ༷͕ݟ͍͢ • ΄΅ελϯμʔυʹͳ͖͍ͬͯͯΔͷͰڞ༗͕͍͢͠ • ίʔυͷࣗಈੜ͕ศར͗͢Δ • ϓϩάϥϜͰѻ͍͍͢
ͳͥ͏ͷ͔ • ༷͕ݟ͍͢ • ΄΅ελϯμʔυʹͳ͖͍ͬͯͯΔͷͰڞ༗͕͍͢͠ • ίʔυͷࣗಈੜ͕ศར͗͢Δ • ϓϩάϥϜͰѻ͍͍͢
https://fortee.jp/phpcon-2021/proposal/5a58e077-6de6-453a-abff-adbe24cc3156
OASͷߏ
• openapi (όʔδϣϯ) • info (ใ) • servers (ϕʔεURL) •
paths (ΤϯυϙΠϯτ) • components (࠶ར༻ՄೳͳΦϒδΣΫτ) • tags (λά)
info ར༻ن
servers
paths
components
None
tags
OpenAPI͔Βίʔυͷࣗಈੜ
Swagger Codegen language: dart, csharp, go, java, python, ruby, php,
swift5, typescript-fetch, javascript, etc…
Swagger Codegen ੜ͞ΕΔϑΝΠϧ ར༻αϯϓϧ
Swagger Codegen service/AService.js
OpenAPIͷΤίγεςϜͰ ։ൃΛศརʹ͍͖ͯ͠·͠ΐ͏ʂ
͓͠·͍