Openapi仕様は、Linux Foundation CollaborativeプロジェクトであるOpenapiイニシアチブ内のコミュニティ主導のオープン仕様です。
OpenAPI仕様(OAS)は、HTTP APIの標準のプログラミング言語と存在するインターフェイスの説明を定義します。これにより、人間とコンピューターの両方が、ソースコードへのアクセス、追加のドキュメント、またはネットワークトラフィックの検査を必要とせずに、サービスの機能を発見および理解することができます。 Openapiを介して適切に定義されると、消費者は最小限の実装ロジックでリモートサービスを理解してやり取りできます。低レベルのプログラミングのためにインターフェイスの説明が行ったことと同様に、Openapi仕様はサービスを呼び出す際に当て推量を削除します。
マシン読み取り可能なAPI定義ドキュメントのユースケースには、以下が含まれますが、これらに限定されません。ドキュメント、クライアント、サーバーのコード生成。テストケースの自動化。 OpenapiドキュメントはAPIサービスを説明し、YAMLまたはJSON形式で表されています。これらのドキュメントは作成され、静的に提供されるか、アプリケーションから動的に生成される場合があります。
OpenAPI仕様では、既存のAPIを書き換える必要はありません。ソフトウェアをサービスに拘束する必要はありません。説明されたサービスは、その説明の作成者が所有することさえできない場合があります。ただし、サービスの機能をOpenapi仕様の構造に記述する必要があります。すべてのサービスがOpenapiで説明できるわけではありません。この仕様は、HTTP APIのあらゆるスタイルをカバーすることを目的としていませんが、REST APIのサポートが含まれています。 Openapi仕様は、設計ファーストやコードファーストなどの特定の開発プロセスを義務付けていません。 HTTP APIとの明確な相互作用を確立することにより、いずれかの手法を促進します。
このGitHubプロジェクトは、Openapiの出発点です。ここでは、Openapi仕様について必要な情報、それがどのように見えるかの簡単な例、およびプロジェクトに関する一般的な情報を見つけることができます。
このリポジトリには、公開されているすべてのOpenAPI仕様バージョンのマークダウンソースが含まれています。リリースノートおよびリリース候補バージョンについては、リリースページを参照してください。
スキーマやテストなど、このリポジトリの各フォルダーには、仕様の現在および以前のバージョンに関連するフォルダーを含める必要があります。
それが機能するのを見たい場合は、現在の例のリストをご覧ください。
独自のOpenapi定義を作成したり、提示したり、使用したりできる方法を確認しますか?成長する実装リストをご覧ください。
OpenAPI仕様を開発するための現在のプロセスは、貢献ガイドラインで説明されています。
Openapi仕様の次のバージョンの開発は、技術運営委員会(TSC)によって導かれます。このコミットターのグループは、APIの専門知識をもたらし、コミュニティからのフィードバックを取り入れ、必要に応じてコミットターのグループを拡大します。将来の仕様に関するすべての開発アクティビティは、機能として実行され、このブランチに統合されます。将来の仕様がリリースされると、このブランチはmainに統合されます。
TSCは、毎週のWeb会議を開催して、オープンプルリクエストを確認し、進化するOpenapi仕様に関連するオープンな問題について議論します。毎週の電話やスケジュールされた作業セッションへの参加は、コミュニティに開かれています。 Openapi技術会議カレンダー全体をオンラインで表示できます。
Openapiイニシアチブは、個人や企業からの参加を奨励しています。 Openapi仕様の進化に参加したい場合は、次のアクションを取得することを検討してください。
すべてのフィードバックが対応できるわけではなく、仕様に適している変更に対する賛辞または反対の強固な議論があるかもしれません。
参照:ライセンス(Apache-2.0)