LoginSignup
1
0

More than 1 year has passed since last update.

Swagger CodegenでSwiftのmodelを作成(初心者向け)

Posted at

Swagger CodegenでSwiftのmodelを作成

概要

SwiftでiOSの開発をしている駆け出しエンジニアです。
まだまだわからないことが多く、日々分からないことと格闘しながらOJTで開発をしています。
今回はSwaggerCodegenについて理解できていないので、SwaggerCodegenでSwiftのmodelを作成するまでを記事にしたいと思います。

目次

  1. Swaggerとは
  2. SwaggerCodegenでswiftのmodelを作成
  3. ちなみに
  4. まとめ
  5. 参考記事まとめ

Swaggerとは

Swaggerとは、OpenAPI仕様を使用してAPIを開発するために最も広く使用されているオープンソースツールセットの1つ
https://swagger.io/tools/open-source/

SwaggerとOpenAPI

Swagger ツール 概要 README.md
Swagger Editor Swagger Editorを使用すると、ブラウザー内でYAMLのOpenAPI仕様を編集し、ドキュメントをリアルタイムでプレビューできます。 https://github.com/swagger-api/swagger-editor/blob/master/README.md
Swagger UI Swagger UIは、OAS準拠のAPIから美しいドキュメントを動的に生成するHTML、Javascript、およびCSSアセットのコレクションです。 https://github.com/swagger-api/swagger-ui/blob/master/README.md
Swagger Codegen APIクライアントライブラリの生成(SDK生成)、サーバースタブ、およびOpenAPI仕様が自動的に与えられたドキュメントを許可します。 https://github.com/swagger-api/swagger-codegen/blob/master/README.md

SwaggerCodegenでSwiftのmodelを作成

事前準備

  • SwaggerCodegenでmodelを作成するディレクトリを作成
    • どこでもいいんですが、今回自分はデスクトップにswagger-testというディレクトリを作成しました。
  • 作成したディレクトリに移動し、Swagger公式が提供しているサンプルをコピーしてpetstore.ymlファイルを作成

実際にmodelを作成

  • Homebrewを使ってSwaggerCodegenをインストールする
    $ brew install swagger-codegen
  • petstore.ymlのディレクトリに移動
    $ cd Desktop/swagger-test/
  • 以下のコマンドでmodelを作成
    $ swagger-codegen generate -i petstore.yml --lang swift5 -o output_dirctory
    • コマンド実行後output_dirctory/SwaggerClient/Classes/Swaggers/ModelsにSwiftのmodelが作成される

スクリーンショット 2022-02-20 13.29.54.png
swiftのmodelを作成については以上になります。

ちなみに

  • 作成されたファイルがある状態で再度コマンドを実行した場合、上書きはされるんですが不要なファイルが残る場合があります。そのため、フォルダを削除するコマンドを含めてshファイルを作成しておくのがおすすめです。
rm -r output_dirctory
swagger-codegen generate \
 -i ./petstore.yml \
 --lang swift5 \
 -o output_dirctory \

まとめ

  • 今回SwaggerCodegenでのmodelの作成まで書きました。まだまだSwaggerについては調べている途中で理解できていない部分も多いので追加でこちらの記事もアップデートしていければと思います。今回の記事が私のような初学者でswaggerについて調べているかたの参考になれば嬉しいです。また、間違っている点等ありましたらコメントいただけるとありがたいです。

参考記事まとめ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0