Swift OpenAPI Generatorとは?
WWDC23で発表
Appleが提供しているSwiftパッケージプラグイン
OpenAPI形式のファイルをインプットに
HTTP呼び出しを実行するクライアントコード or サーバーコードを
生成してくれるツール
Slide 8
Slide 8 text
Swift OpenAPI Generatorの使い方
以下をSPMで追加すH
2 apple/swift-openapi-generato#
2 apple/swift-openapi-runtim)
2 apple/swift-openapi-urlsession
Slide 9
Slide 9 text
Swift OpenAPI Generatorの使い方
Build PhaseのRun Build Tool Plug-insにOpenAPIGeneratorを追加する
Slide 10
Slide 10 text
Swift OpenAPI Generatorの使い方 - ファイルの追加
インプットとなるファイルを2種類追加すU
V OpenAPI形式のファイル:openapi.yaml or openapi.jsoP
V 生成するコードを定義するファイル:openapi-generator-config.yaml
⚠️
ファイル名が決まっているので
名前が違うと読み込まれない
Swift OpenAPI Generatorの使い方 - 実際にAPIを呼び出す
リクエストとレスポンス用のソースコードを記載すE
F responseはenumで定義されている
Slide 15
Slide 15 text
Swift OpenAPI Generatorの使い方 - 実際にAPIを呼び出す
関数を呼び出すと以下のようにjsonが返ってくる
Slide 16
Slide 16 text
Swift OpenAPI Generatorを使う上で気をつけること
OpenAPI Docの各項目の
descriptionを必ず記載する
1
各APIのoperationIdを設定する
2
Slide 17
Slide 17 text
Swift OpenAPI Generatorを使う上で気をつけること
OpenAPI Docの各項目のdescriptionを必ず記載すT
a Summaryにdescriptionの内容が反映されT
a URL呼び出しで言うとserver1(7
a server1()と言う関数名については自動生成されたもの
Slide 18
Slide 18 text
Swift OpenAPI Generatorを使う上で気をつけること
各APIのoperationIdを設定すB
A operationIdが関数名になり呼び出す時に使用されB
A OpenAPIGeneratorを使う上で必須の項目
Slide 19
Slide 19 text
Swift OpenAPI Generatorを
使った時の
詰まりどころ
Slide 20
Slide 20 text
Swift OpenAPI Generatorを使った時の詰まりどころ
yamlのタイポに気付けず生成成功までに時間がかかっT
openapi-generator-config.yamp
Xcodeの該当行にエラー表示があるわけではない
Slide 21
Slide 21 text
Swift OpenAPI Generatorを使った時の詰まりどころ
x yamlのタイポに気付けず生成成功までに時間がかかっe
x OpenAPI形式のファイルを作る際にはGUIを使うと検知できP
x Stoplight Studig
x 設定ファイルについては良い方法があれば教えてください...