私はWebAPIソリューションを文書化するためにSwashbuckle/Swaggerを使用しています。開発者のポータルはhttps://myapi.com/のようなものになりますが、バージョン管理されたAPIはhttps://myapi.com/v1/usersです。Swashbuckle、複数のAPIバージョン、および仮想ディレクトリ
URLのバージョン部分は、v1のバイナリと設定ファイルを含む仮想ディレクトリにマップされます。バージョン2が出荷されると、ルートの下に新しい仮想ディレクトリが作成されるため、https://myapi.com/v2/users/some_new_endpoint_not_in_v1となります。これは、バグ修正のために保存することを意味します。古いバージョンのバイナリを変更する必要はありません。開発者によって誤って下位互換性が損なわれる可能性は低くなります。
しかし、コントローラ/アクションとXMLコメントを解析するために仮想ディレクトリを見るためにSwashbuckleを設定する方法はわかりません。 MultipleApiVersions設定オプションは、サポートされているすべてのバージョンを別々のプロセスに分けるのではなく、名前空間またはコントローラ名のいずれかのバイナリセットに追加する方が対象になります。
スワッシュバクルを私の意志にどのように曲げることができますか?スワッシュバックルを個々の仮想ディレクトリに単一のAPIバージョンとしてインストールすればよいので、ドキュメントはhttps://myapi.com/v1/swaggerのようになりますか?私のポータルは、さまざまなAPIバージョンを公開するために必要な作業を行います。
更新
私は後者の方法を試してみました、およびドキュメントのために、少なくとも、それがOKに動作します。問題は、Swagger仕様のURLがhttps://myapi.com/v1/swagger/docs/v1になり、URLに2番目のv1がないということです。残念ながら、Swaashbuckleは少なくとも、バージョン番号はベースURLではなく相対パスになると予想しています。それらがうまくいく持つ
あなたは私の答えを見ましたか? – bsoulier