Swagger Code Generatorは、多くの言語でSDKを生成できます(Githubプロジェクトページから以下にリストされています)。 Swaggerの自動生成されたSDKのいずれかを、アルファ/ベータとGAの両方として本番環境で使用している人はいますか?使用している場合は、どの組織とどの言語で使用しますか?
私はいくつかのグーグル検索をして、周りに尋ねました。 Swagger UIがデプロイされている例はたくさんありますが、Code GenSDKはまだ見つかりません。
プロジェクトページ: https://github.com/swagger-api/swagger-codegen
言語:
$ ls -1 modules/swagger-codegen/src/main/Java/com/wordnik/swagger/codegen/languages/
AndroidClientCodegen.Java
AsyncScalaClientCodegen.Java
CSharpClientCodegen.Java
JavaClientCodegen.Java
JaxRSServerCodegen.Java
NodeJSServerCodegen.Java
ObjcClientCodegen.Java
PhpClientCodegen.Java
PythonClientCodegen.Java
RubyClientCodegen.Java
ScalaClientCodegen.Java
ScalatraServerCodegen.Java
SpringMVCServerCodegen.Java
StaticDocCodegen.Java
StaticHtmlGenerator.Java
SwaggerGenerator.Java
SwaggerYamlGenerator.Java
TizenClientCodegen.Java
更新-メジャープロジェクトの公式SDKトラッキング(2018年6月)
採用をより適切に追跡するために、ここでは大規模な組織からの識別可能な公式codegenSDKを追跡しています。一部のcodegenプロジェクトを使用していると記載している多くの組織は、GitHubアカウントでSDKを公開していません。
更新-個人的な経験(2017年12月)
私は今、Swagger Codegen for Goを積極的に使用しています(2.2.3-2.3.1)。これまでの私の経験では、それはまともな仕事をしますが、SDKを機能させるにはさまざまな手作業の微調整が必要になる可能性があるため、GitHubパッケージ/リポジトリは依然として優れています。私が管理しているSDKのGitHubの問題でいくつかの問題を見ることができます。また、各リポジトリのcodegen/swagger_codegen_command.sh
ファイルに後処理を追加します。
更新-OpenAPIジェネレーターの追加(2018年7月)
OpenAPIGeneratorはSwaggerCodegenのフォークであるため、これについても説明します。
Githubで検索 を実行し、Swagger-Codegenによって生成されたいくつかのプロジェクト(SDK)を見つけました。
ここに1つの例があります: Online Convert API2 Swift SDK
Swagger-Codegenの使用例については、 Swagger-Codegen Githubページ を参照することもできます。
更新:本番環境でSwagger Codegenを使用しているすべてではありませんが一部の企業/プロジェクトは次のとおりです: https://github.com/swagger-api/swagger-codegen#companiesprojects-using-swagger-codegen
注:2017年7月の時点で、Swagger Codegenは、APIクライアント、サーバースタブ、およびAPIドキュメント用に70を超えるジェネレーターを提供しています。
更新:2018年5月、Swagger Codegenの約50人のトップコントリビューターとテンプレート作成者が、コミュニティ主導のバージョン OpenAPI Generator を維持するためにSwaggerCodegenをフォークすることを決定しました。詳細については、 Q&A を参照してください。
プラットフォームアーキテクトおよびDevOpsとして、BaaSおよびAPIはswaggerによって定義されるため、 Dreamfactory API Automation を使用するプロジェクトに正常に導入したと言えます。そのため、モバイルアプリと内部アプリケーションのSDKはswagger-codegenを使用して生成されます。私たちの言語のswagger-codegenテンプレートにいくつかのバグがありましたが、これらはかなり簡単に修正できました。全体として、多くの時間を節約し、潜在的なエラーの原因を減らします。
これを使用して、Spring codegenに基づくAPIをbootstrapし、ドメインモデルとAPIエンドポイントを変更および追加するために使用しました。生成されたクラスのいくつかの側面を変更する必要がありますが、リファクタリングは非常に簡単で、技術的負債を積み上げることができません。手動テスト用に生成されたswagger-uiがあると非常に役立ちます。また、仕様をPostmanにインポートしてスタブを生成できるため、作成の開始点とTODOの概要を把握できます。テスト。
ただし、SDKはまだ使用していません。さまざまなjsクライアントを使用しようとしましたが、単純なフェッチライブラリに勝る利点はありませんでした。
AngularまたはReact + Reduxやテスト自動化など、より複雑なjsフレームワークのcodegenには大きな可能性があります。