web-dev-qa-db-ja.com

本番環境でSwaggerCodegenまたはOpenAPIGenerator SDKを使用している人はいますか?

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のフォークであるため、これについても説明します。

14
Grokify

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 を参照してください。

10
William Cheng

プラットフォームアーキテクトおよびDevOpsとして、BaaSおよびAPIはswaggerによって定義されるため、 Dreamfactory API Automation を使用するプロジェクトに正常に導入したと言えます。そのため、モバイルアプリと内部アプリケーションのSDKはswagger-codegenを使用して生成されます。私たちの言語のswagger-codegenテンプレートにいくつかのバグがありましたが、これらはかなり簡単に修正できました。全体として、多くの時間を節約し、潜在的なエラーの原因を減らします。

5
pHiL

これを使用して、Spring codegenに基づくAPIをbootstrapし、ドメインモデルとAPIエンドポイントを変更および追加するために使用しました。生成されたクラスのいくつかの側面を変更する必要がありますが、リファクタリングは非常に簡単で、技術的負債を積み上げることができません。手動テスト用に生成されたswagger-uiがあると非常に役立ちます。また、仕様をPostmanにインポートしてスタブを生成できるため、作成の開始点とTODOの概要を把握できます。テスト。

ただし、SDKはまだ使用していません。さまざまなjsクライアントを使用しようとしましたが、単純なフェッチライブラリに勝る利点はありませんでした。

AngularまたはReact + Reduxやテスト自動化など、より複雑なjsフレームワークのcodegenには大きな可能性があります。

2
samy