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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
inady
February 05, 2020
Programming
74
0
Share
Let’s contribute OpenAPI Generator
inady
February 05, 2020
More Decks by inady
See All by inady
atama plus株式会社 HerokuからAWSへの移行
inady
0
200
AtlantisによるTerraformコードの継続的ApplyとTerraformによるAtlantis環境の構築
inady
0
230
Other Decks in Programming
See All in Programming
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
230
t *testing.T は どこからやってくるの?
otakakot
1
710
[RubyKaigi 2026] Require Hooks
palkan
1
230
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
250
事業会社でのセキュリティ長期インターンについて
masachikaura
1
270
Road to RubyKaigi: Play Hard(ware)
makicamel
1
470
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
190
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
290
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
180
Server-Side Kotlin LT大会 vol.18 [Kotlin-lspの最新情報と Neovimのlsp設定例]
yasunori0418
1
190
Don't Prompt Harder, Structure Better
kitasuke
0
780
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
350
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Site-Speed That Sticks
csswizardry
13
1.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
500
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
680
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
210
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Everyday Curiosity
cassininazir
0
200
Context Engineering - Making Every Token Count
addyosmani
9
840
Build your cross-platform service in a week with App Engine
jlugia
234
18k
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ग़ͤΔ͔ʁʯ ͱࢥͬͯΒ͑Δ͜ͱɻ