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 generate Swift Models with Swagger Codegen
Search
Naoki / ばくぷー (ᐡ• ﻌ • ᐡ)。
May 22, 2023
Programming
0
430
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
370
Other Decks in Programming
See All in Programming
Creating Retro-Style Photos Using Swift
ski
1
370
The Future of C++ Interoperability: Insights from Porting a Game to Swift
teamhimeh
0
290
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
5
1.2k
SwiftUI, Jetpack Composeの導入で変化した「家族アルバム みてね」のアプリ開発体験
hicka04
6
400
Some Quick Ideas To Improve Your Tests ( #jassttokyo )
teyamagu
PRO
2
2.3k
Kotlinを用いたDSL的な設計手法と使用上の注意
kohii00
3
530
htmx is fun!
codehex
2
190
品質が高いコードって何?Rev2.1
ickx
1
490
App Router への移行は「改善」となり得るのか?/ Can migration to App Router be an improvement
takefumiyoshii
1
140
CSRF対策のやり方、そろそろアップデートしませんか / Update your knowledge of CSRF protection
hiro_y
25
15k
CircleCIを活用して AWSへの継続的デリバリーを 実践する
coconala_engineer
1
110
Data Contracts In Practice With Debezium and Apache Flink (Kafka Summit London)
gunnarmorling
2
280
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
223
17k
Six Lessons from altMBA
skipperchong
19
2.9k
Making the Leap to Tech Lead
cromwellryan
123
8.4k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
Adopting Sorbet at Scale
ufuk
66
8.5k
A Tale of Four Properties
chriscoyier
150
22k
Thoughts on Productivity
jonyablonski
57
3.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
257
12k
Embracing the Ebb and Flow
colly
78
4.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
35
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
355
22k
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.