Repolode
swagger-api

swagger-api/swagger-codegen

OpenAPI/Swagger定義からAPIクライアントSDK、サーバースタブ、HTMLドキュメントを生成するコマンドラインツール。

スター
17,793
フォーク
5,948
未解決の Issue
3,442
最終コミット
昨日

これは何?

Swagger Codegenは、OpenAPIまたはSwagger仕様を読み込み、APIクライアントライブラリ、サーバースタブ、APIドキュメントを生成するテンプレート駆動型のコードジェネレーターです。チームで使う言語ごとに、リクエストモデルやエンドポイントのラッパーを手書きする必要がなくなります。

Java、C#、Go、Python、TypeScript、PHP、Swift、Kotlin、Rustなど多数のクライアント向けターゲットに対応しており、Spring、ASP.NET Core、Flask、Railsなどのフレームワーク向けサーバースタブも生成できます。ドキュメントは静的なHTMLファイル、または動的なシングルページHTMLアプリとして出力できます。生成はCLI JAR、Docker、またはMavenやGradleのワークフロー連携から実行できます。

プロジェクトはMavenのgroup IDが異なる2.X系と3.X系に分かれており、OpenAPI 3.0に対応しているのは3.X系のみです。テンプレートをカスタマイズすれば、出力を調整したり独自のターゲットを追加したりできます。

主な機能

  • 01OpenAPIまたはSwaggerの仕様から、数十種類の言語やフレームワーク向けにAPIクライアントを生成します。
  • 02Spring、ASP.NET Core、Flask、Railsなどのフレームワーク向けにサーバースタブを生成します。
  • 03静的または動的なHTML形式のAPIドキュメントを生成します。
  • 04テンプレートをカスタマイズして、出力を変更したり新しいジェネレーターを追加したりできます。
  • 05CLI、Docker、またはMavenやGradleのワークフローから実行できます。

ユースケース

  • 複数のクライアントチームが利用する社内REST API向けに、型付きSDKを生成する。
  • 仕様を先に定めるAPI設計から、サーバースタブのひな形を作成する。
  • OpenAPIファイルからHTML形式のリファレンスドキュメントを公開する。
  • サンプルのpetstoreクライアントを作成して、生成されるコードの構成を確認する。

クイックスタート

  1. 1

    リポジトリをクローンする

    git clone https://github.com/swagger-api/swagger-codegen
  2. 2

    プロジェクトディレクトリに移動する

    cd swagger-codegen
  3. 3

    Mavenでプロジェクトをビルドする

    mvn clean package
  4. 4

    Petstoreの仕様からPHPクライアントを生成する

    java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i https://petstore.swagger.io/v2/swagger.json -l php -o /var/tmp/php_api_client

使う前に知っておきたいこと

  • JavaとMavenを使ってソースからビルドする必要があるため、セットアップに手間がかかります。
  • バージョン2.Xと3.Xは異なるgroup IDで個別にメンテナンスされているため、必要な系列を確認してください。

トピック

よくある質問

swagger-codegen とは?
OpenAPI/Swagger定義からAPIクライアントSDK、サーバースタブ、HTMLドキュメントを生成するコマンドラインツール。 Swagger Codegenは、OpenAPIまたはSwagger仕様を読み込み、APIクライアントライブラリ、サーバースタブ、APIドキュメントを生成するテンプレート駆動型のコードジェネレーターです。チームで使う言語ごとに、リクエストモデルやエンドポイントのラッパーを手書きする必要がなくなります。
swagger-codegen は無料で使えますか?ライセンスは?
swagger-codegen は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
swagger-codegen は今もメンテナンスされていますか?
活発にメンテナンス中。swagger-codegen の最終コミットは 2026年10月22日 です。
swagger-codegen は何に使えますか?
複数のクライアントチームが利用する社内REST API向けに、型付きSDKを生成する。 仕様を先に定めるAPI設計から、サーバースタブのひな形を作成する。 OpenAPIファイルからHTML形式のリファレンスドキュメントを公開する。 サンプルのpetstoreクライアントを作成して、生成されるコードの構成を確認する。
swagger-codegen のインストール方法は?
リポジトリをクローンする: git clone https://github.com/swagger-api/swagger-codegen プロジェクトディレクトリに移動する: cd swagger-codegen Mavenでプロジェクトをビルドする: mvn clean package Petstoreの仕様からPHPクライアントを生成する: java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i https://petstore.swagger.io/v2/swagger.json -l php -o /var/tmp/php_api_client
swagger-codegen はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/swagger-api/swagger-codegen

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト