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
620
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
700
Other Decks in Programming
See All in Programming
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
130
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
220
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
730
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
120
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
7
2.5k
CNCF Project の作者が考えている OSS の運営
utam0k
5
690
[JAWS-UG横浜 #79] re:Invent 2024 の DB アップデートは Multi-Region!
maroon1st
1
140
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
270
Honoをフロントエンドで使う 3つのやり方
yusukebe
5
2.2k
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
240
Linux && Docker 研修/Linux && Docker training
forrep
23
4.5k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
A Philosophy of Restraint
colly
203
16k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
A Tale of Four Properties
chriscoyier
158
23k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
The Cult of Friendly URLs
andyhume
78
6.2k
Into the Great Unknown - MozCon
thekraken
35
1.6k
Being A Developer After 40
akosma
89
590k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
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.