web-dev-qa-db-ja.com

Swagger、Swashbuckle、Swashbuckle UIとは

これは私の理解です:

  • Swaggerは、ドキュメントを記述するための表記法/規則です。しかし、なぜフレームワーク(Angular/MVCなど)と呼ばれるのですか?
  • Swashbuckleは、(Swaggerルールに基づいて)ドキュメントを生成するプログラム(JavaScript?)です。
  • Swagger UIにドキュメントが表示されます。これを行うには、Swashbuckleを使用します。

この情報は正しいですか?そうでなければ、誰かが簡単な言葉でSwa​​gger、Swashbuckle、およびSwashbuckle UIの意味を説明できますか?

また、これを使用しない場合、API開発者として失うものは何ですか?

26
Blue Clouds

Swaggerは、ドキュメントを記述するための表記法/規則です。しかし、なぜフレームワークと呼ばれるのですか?

おそらく「フレームワーク」と呼ばれます。その目的は、OpenAPI仕様の下でRESTfulサービスのインターフェイスに表記する体系的な方法を提供することだからです。信頼できるLinux Foundationの下でOpen API Initiativeが仕様を監督しているため、これは開発者にとって大きな問題です。

Swashbuckleは、ドキュメントを生成するプログラム(javascript?)です(Swaggerルールに基づいて)

Swashbuckleは、.NET Web APIプロジェクトで利用できるパッケージ(またはライブラリ)です。正しく示したように、プロジェクトのSwagger仕様を生成することが目的です。さらに、Swagger UIはSwashbuckleに含まれているため、.NETでAPIを開発している場合は、本当に素敵なパッケージのワンストップショップです。 JavaScriptではなく、ほぼ完全にC#で記述されています。

Swagger UIにドキュメントが表示されます。これを行うには、Swashbuckleを使用します。

はい、Swaggerの仕様は人に優しい方法で表示されます。ただし、スワッシュバックルはこれに必要なコンポーネントではありません。これらは、私が先ほど言ったものは別として、完全に相互排他的です。

また、これを使用しない場合、API開発者として何を失うか。

これは現在、意見の領域に入りつつありますが、私はそれについて客観的になろうとします。 Swashbuckleを使用して、アプリケーションAPIのクライアントの作成を支援します。実装の学習曲線(それほどではありませんでした)を過ぎた後、このパッケージはクライアントを自分で書く時間を大幅に節約しました。 Webクライアントの作成は小さなアプリケーションにとってはささいなことですが、エンタープライズレベルのアプリケーションは複雑さを増したり変化したりする傾向があるため、これらのクライアントの作成/更新を完全に自動化することは素晴らしいことです。

つまり、使用しないことにした場合は、APIクライアント生成の代替方法に頼るか、クライアントを自分で作成/更新する必要があります。バックエンドのみを開発している場合、これは完全に無意味かもしれませんが、APIサービスを使用するクライアントアプリの作成を担当する人には確実に役立ちます。

これらの回答がお役に立てば幸いです。乾杯!

32
James B. Nall