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
Let’s contributeOpenAPI Generator
Search
inady
February 05, 2020
Programming
0
69
Let’s contribute OpenAPI Generator
inady
February 05, 2020
Tweet
Share
More Decks by inady
See All by inady
atama plus株式会社 HerokuからAWSへの移行
inady
0
180
AtlantisによるTerraformコードの継続的ApplyとTerraformによるAtlantis環境の構築
inady
0
230
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
380
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
1k
Swift Concurrency - 状態監視の罠
objectiveaudio
2
530
Introduce Hono CLI
yusukebe
5
2.2k
Go言語はstack overflowの夢を見るか?
logica0419
0
350
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
180
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
570
私はどうやって技術力を上げたのか
yusukebe
43
19k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
170
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
CSC509 Lecture 03
javiergs
PRO
0
340
Cursorハンズオン実践!
eltociear
2
1.1k
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Facilitating Awesome Meetings
lara
56
6.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Writing Fast Ruby
sferik
629
62k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Navigating Team Friction
lara
190
15k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Designing for Performance
lara
610
69k
Transcript
-FU`TDPOUSJCVUF 0QFO"1*(FOFSBUPS
త ʮࢲ0QFO"1*(FOFSBUPSʹ13ग़ͤΔ͔ʁʯ ͱࢥͬͯΒ͑Δ͜ͱɻ
0QFO"1*(FOFSBUPSͱ 0QFO"1*(FOFSBUPSBMMPXTHFOFSBUJPOPG"1*DMJFOU MJCSBSJFT 4%,HFOFSBUJPO TFSWFSTUVCT EPDVNFOUBUJPO BOEDPOGJHVSBUJPOBVUPNBUJDBMMZHJWFOBO0QFO"1*4QFD W W
ੜͷΈ
0QFO"1*ΛಡΈࠐΉ Proper&es[ Property( name = “customerCode”, type = string ),
Property( name = “customerFirstName”, type = string ) ] OpenAPIを変数 として読み込む(Java) テンプレートに適⽤ OpenApi Generator- > codegen OpenApi
ςϯϓϨʔτʹΊࠐΜͰग़ྗ data class {{classname}} ( {{#requiredVars}} {{>dataClassReqVar}}{{^-last}}, {{/- last}}{{/requiredVars}}{{#hasRequir ed}}・・・・
テンプレートをもとに 書き出し mustache
ࣅ͍ͯΔͷ KTPOTQSJOHCPPUUIZNFMFBG IUNM
Γ͔ͨͬͨ͜ͱ
0QFO"1* %FQSFDBUFEQSPQFSUJFT
LPUMJOTQSJOHΛࣗಈੜ
!%FQSFDBUFE lz ΛՃ͍ͨ͠ʂ
ίϛοτΛ͍ͬͯ͘ελΠϧ
BEE%FQSFDBUFEJOLPUMJOEBUB$MBTT $PNNJU IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJ HFOFSBUPSQVMMDPNNJUTCDCDEBEFFD BGBEBCFC
ςϯϓϨʔτΛमਖ਼͢Δ data class {{classname}} ( {{#requiredVars}} {{>dataClassReqVar}}{{^-last}}, {{/- last}}{{/requiredVars}}{{#hasRequir ed}}・・・・
テンプレートをもとに 書き出し
.VTUBDIFςϯϓϨʔτ ςϯϓϨʔτ͍ͬͺ͍͋Δ IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJ HFOFSBUPSUSFFNBTUFSNPEVMFTPQFOBQJ HFOFSBUPSTSDNBJOSFTPVSDFT
EBUBDMBTTͷςϯϓϨʔτ
EBUBDMBTTʹݟ͑ͳ͘ͳ͍
গ͠ղઆ͢Δ ˠ EBUB$MBTT0QU7BS
EBUB$MBTT0QU7BSNVTUBDIF !+TPO1SPQFSUZͷ্ʹ!%FQSFDBUFEΛ͍͍ͤ IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJ HFOFSBUPSQVMMDPNNJUTCDCDEBEFFD BGBEBCFC
BEEEFQSFDBUFEJO$PEFHFO1SPQFSUZ $PNNJU IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJ HFOFSBUPSQVMMDPNNJUTFFGCDGDBEEB CFEDB
DPEFHFOमਖ਼͢Δ Proper&es[ Property( name = “customerCode”, type = string ),
Property( name = “customerFirstName”, type = string ) ] OpenAPIを変数 として読み込む(Java) テンプレートに適⽤ OpenApi Generator- > codegen
ίʔυΛݟͯΈΔ IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJ HFOFSBUPSCMPCNBTUFSNPEVMFTPQFOBQJ HFOFSBUPSTSDNBJOKBWBPSHPQFOBQJUPPMTDPEFHFO$PEF HFO1SPQFSUZKBWB DPEFHFO$PEFHFO1SPQFSUZKBWB
EFQSFDBUFEΛͯ͋͛͠Δ $PEFHFO1SPQFSUZʹEFQSFDBUFEͷม͕ͳ͍ͷͰه͢Δ IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJ HFOFSBUPSQVMMDPNNJUTFFGCDGDBEEB CFEDB
TFUQSPQFSUZEFQSFDBUFE DPNNJU IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJ HFOFSBUPSQVMMDPNNJUTFBEBFD EBFCDCGFD
Λೖ͢Δ $PEFHFO1SPQFSUZKBWBʹEFQSFDBUFEΛՃ͕ͨ͠ɺ %FQSFDBUFEʹΛೖΕΔ෦Λॻ͍͍ͯͳ͍ʂ ˠৗʹۭ OVMM
%FGBVMU$PEFHFOKBWB IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJ HFOFSBUPSCMPCNBTUFSNPEVMFTPQFOBQJ HFOFSBUPSTSDNBJOKBWBPSHPQFOBQJUPPMTDPEFHFO%FGB VMU$PEFHFOKBWB- 0QFO"1*ΛಡΈࠐΜͰɺ1SPQFSUZΛੜ͍ͯ͠Δͱ͜Ζ
%FQSFDBUFEΛηοτ͢Δ IUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJ HFOFSBUPSQVMMDPNNJUTFBEBFD EBFCDCGFD
͓͠·͍
None
None
త ʮࢲ0QFO"1*(FOFSBUPSʹ13ग़ͤΔ͔ʁʯ ͱࢥͬͯΒ͑Δ͜ͱɻ