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
Swagger Codegenで楽にSwiftのModelを生成する / Easily gen...
Search
Naoki / ばくぷー (ᐡ• ﻌ • ᐡ)。
May 22, 2023
Programming
0
690
Swagger Codegenで楽にSwiftのModelを生成する / Easily generate Swift Models with Swagger Codegen
DeNA×STORES×ラクマ iOS Meetup!!
2023-05-22 19:00-
https://connpass.com/event/283989/
Naoki / ばくぷー (ᐡ• ﻌ • ᐡ)。
May 22, 2023
Tweet
Share
More Decks by Naoki / ばくぷー (ᐡ• ﻌ • ᐡ)。
See All by Naoki / ばくぷー (ᐡ• ﻌ • ᐡ)。
5分で分かるSwift OpenAPI Generatorの使い方 / How to use Swift OpenAPI Generator in 5 minutes
naokimrmt
1
810
Other Decks in Programming
See All in Programming
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
220
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
4.1k
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
1
250
開発生産性を上げるための生成AI活用術
starfish719
3
1k
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
dynamic!
moro
10
7.9k
CSC509 Lecture 03
javiergs
PRO
0
340
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
340
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
400
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
130
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
2
460
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Being A Developer After 40
akosma
91
590k
How STYLIGHT went responsive
nonsquared
100
5.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How to Think Like a Performance Engineer
csswizardry
27
2k
KATA
mclloyd
32
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Transcript
Swagger Codegenで 楽にModelを生成する @naoki-mrmt DeNA×STORES×ラクマ iOS Meetup!!
Naoki / ばくぷー (• ﻌ • )。 & @naoki_mrmt &
株式会社マンハッタンコード 22卒 & Swift ( / Kotlin / Flutter ) & No beer, no life.
Contents Swagger Codegenとは? Swaggerとは? 事前準備 Modelの生成 まとめ 1 2 3
4 5
Contents Swagger Codegenとは? Swaggerとは? 事前準備 Modelの生成 まとめ 1 2 3
4 5
1 Swagger Codegenとは? OpenAPI仕様に沿って記述されたAPI 仕様書をインプットとしてソースコー ドを生成するツール v SwiftだけでなくDartやKotlinなど 多くの言語で出力することができる
Contents Swagger Codegenとは? Swaggerとは? 事前準備 Modelの生成 まとめ 1 2 3
4 5
2 Swaggerとは? APIの設計と文書化を支援するためのオープンソースのツール Open API Editor UI Codegen REST APIを定義
するための標準仕 様 API仕様を書くた めのエディタ - yaml/jsonで記述 API仕様からド キュメントを生成 するツール API仕様から コードを生成す るツール
Contents Swagger Codegenとは? Swaggerとは? 事前準備 Modelの生成 まとめ 1 2 3
4 5
3 事前準備 8 Swagger Codegenの導" brew install swagger-codege& 8
Swaggerファイル
3 事前準備 Swaggerファイルがない場合" A 作るしかない.. A ただ、yamlは書きたくない...
3 事前準備 Stoplight Studiv i OpenAPIのyamlファイルの作成と管理ができるGUIエディ4 i 直接yamlファイルの編集も可 i GUIでyamlを作成してmock
serverの立ち上げる一連の流れがさっとできE i StoplightのPrismを使うと簡単
3 事前準備
3 事前準備
3 事前準備
3 事前準備
Contents Swagger Codegenとは? Swaggerとは? 事前準備 Modelの生成 まとめ 1 2 3
4 5
4 Modelの生成 E コマンドを叩くとファイルが生成 され# E swagger-codegen generate -i {yaml
file name} --lang swift5 -o output
4 Modelの生成 B 以下のディレクトリにModelが 生成され$ B SwaggerClient/Classes/ Swaggers/Models
4 Modelの生成 注意Y yaml上のModel名に依存してstruct名などがつけられ$ Codableで生成され$ 変数名などを適宜修正する必要があるかも
Contents Swaggerとは? Swagger Codegenとは? 事前準備 Modelの生成 まとめ 1 2 3
4 5
5 まとめ Swagger Codegenで楽にModelが作れる 自動生成だけあって手直しは必要 yamlがなくてもGUIで作ることができる r コマンドを打つだけで生成される r Codableで生成されるなど
r Stoplight Studio
Thank you for your attention.