OAS生成用アノテーションライブラリ(およびSwaggerユーザーからのその他よくある質問) 

  2018年11月5日

先日、既存のAPI向けにOpenAPI Specification(OAS)を生成・ホスティングするためのさまざまなツールと戦略を検討する無料のSwaggerトレーニング「既存のAPIにSwaggerを追加する方法:OASへのコードファーストアプローチを大規模に自動化する方法」を開催しました。  

ウェビナーでは、幅広い言語でAPIを開発しているチーム向けのさまざまなオプションに関連する質問を多数いただきました。また、Swaggerツールがどのように役立つか、OASを使用してAPI開発のさまざまなアプローチをどのように調整できるかについて追加の質問もいただきました。 

ウェビナーのフォローアップとして、OASを操作するためのさまざまなアノテーションライブラリへのリンクを共有し、イベントでのSwaggerユーザーからの主な質問にもお答えしたいと思います。 

Java、C#、Pythonなどで開発されたAPIがあります。これらの言語に最適なアノテーションライブラリはどこで見つけられますか? 

OpenAPI Specification (OAS)とSwaggerツールには、API開発をサポートする新しいツールを使用および開発する開発者の活発なコミュニティがあります。Swaggerチームは、既存のAPIからOASを生成するためのこれらのライブラリの一部をサポートしており、残りはOASコミュニティによって維持されています。 

OASをサポートするその他のオープンソースツールはこちらでご覧いただけます。 

GradleまたはMavenでSwaggerHubに定義を保存することについて、詳しく知るにはどこを読めばよいですか? 

SwaggerHub は、生成されたOAS定義をプラットフォームにエクスポートするプロセスを自動化するための2つのコアプラグインを提供しています。  

これらのプラグインは以下をサポートします。 

  • SwaggerHubからのAPI定義のダウンロード/アップロード。 

  • API定義のJSONおよびYAML形式。 

  • 制限された操作(例:プライベート組織への定義の提出)のためのAPIキーによる認証。 

  • デフォルトでSwaggerHubクラウドバージョンに接続するか、オプションの構成を通じてオンプレミスのSwaggerHubインスタンスに接続します。 

Gradleプラグインの詳細はこちら。 

Mavenプラグインの詳細はこちら。 

サーバースタブの生成にSwagger Codegenプロジェクトを使用していますが、SwaggerHubを使用するべき理由がありますか? 

SwaggerHubは、Swagger Codegenプロジェクトの背後にある同じチームによって作成されました。実際、SwaggerHubのコード生成機能は、オープンソースプロジェクトの貢献によって実行されています。  

SwaggerHubは、チームがOASでAPI開発を共同で行うための一元的なプラットフォームを提供します。個々の開発者がローカルマシンにインストールされたオープンソースツールで単独で作業するのではなく、またはこれを大規模にサポートするための複雑なビルドプロセスを管理する代わりに、SwaggerHubはOAS定義をホストし、APIの設計とドキュメントで共同作業し、組み込みのコード生成機能でサーバースタブとSDKを生成するための一つのプラットフォームを提供します。 

また、SwaggerHubは、APIゲートウェイへのプッシュ、Jenkinsビルドのトリガー、ソース管理ホストとの同期など、API開発に信頼しているツールと連携し、ワークフローに合わせたネイティブ統合とプラグインを提供します。  

SwaggerHubでOAS 3.0のコード生成でサポートされている言語は何ですか? 

SwaggerHubでは引き続き新しい言語のサポートを展開しています。OAS 3.0でサポートされている言語の最新情報は以下の通りです。 

クライアント 

  • Dynamic-html 

  • Html 

  • Html2 

  • Java 

  • Jaxrs-cxf-client 

  • Kotlin-client 

  • Php 

  • Scala 

  • Swift3 

  • Swift4 

  • Typescript-angular 

サーバー スタブ 

  • Inflector 

  • Jaxrs-jersey 

  • Jaxrs-resteasy 

  • Jaxrs-resteasy-eap 

  • Scala-akka-http-server 

  • Spring  

APIに変更があった場合、仕様はどうなりますか?SwaggerHubの既存の仕様ドキュメントは自動的に更新されますか?  

ソースコードをSwaggerHubのようなプラットフォームに接続することで、外部仕様をビルドプロセスの一部である生成されたバージョンと同期させることができます。さらに、SwaggerHubは堅牢なバージョン管理システムを備えており、複数のチーム、プロジェクト、変更をインテリジェントにカタログ化し、単一の信頼できる情報源に保存することができます。 

APIゲートウェイのデプロイに関して、定義内で直接検証を追加して仕様に追加する機能はありますか? 

この機能は通常、定義自体には含まれません。生成されたOASを、一連のリクエストを実行し、定義された応答に対してそれらを検証するファイルに引き渡します。これには、Swagger Test Templateプロジェクトのようなコード中心のソリューションや、OASのインポートとテストの簡単な生成を可能にするReadyAPIのようなGUI駆動型のソリューションが多数あります。 

SwaggerHubのコメントをJIRAタスクに変換する方法はありますか? 

現時点では、JIRAとの直接的な統合はありません。SwaggerHubチームは、ユーザーや組織からのフィードバックを取り入れながら、サポートされるツールとプラットフォームのリストを継続的に追加しています。  

コードファーストアプローチを大規模に自動化する方法を学ぶ。

トレーニングの全記録はこちらでご覧いただけます。

準備が整ったら、SwaggerHubは、デザインファーストのアプローチで新しいプロジェクトを開始する場合でも、既存のAPIセットをコードファーストのアプローチで文書化する場合でも、あらゆる規模のチームがOASでAPI開発を調整するのに役立ちます。

今日から無料で始めましょう。