Swagger ドキュメントでの個々の API の公開の制限について:
スワッシュバックル 5.x:
Swashbuckle 5.x には、IgnoreObsoleteActions (設定する必要があります。デフォルトでは有効になっていません) という構成オプションがあり、[Obsolete]
属性がある場合にアクションを非表示にします。
例: 構成
httpConfiguration
.EnableSwagger(c =>
{
c.IgnoreObsoleteActions();
});
詳細については、ドキュメントを参照してください。
Swashbuckle 4.1.x (または obsolete 属性を使用したくない場合):
Swashbuckle は IApiExplorer の上にswaggerドキュメントを構築します。属性を追加できる必要があります -- [ApiExplorerSettings(IgnoreApi = true)]
-- ApiExplorerSettings コントローラー クラスまたは個々のコントローラー メソッドを管理して、ドキュメントを生成するときにエクスプローラー (およびその後 Swashbuckle) がそれらを無視するようにします。
例: 個々のアクション
/// Ignore 'GetFoo' in documentation
public class FooBarController
{
[ApiExplorerSettings(IgnoreApi = true)]
public Bar GetFoo
{
...
}
public Bar GetBar
{
...
}
}
例: コントローラ クラス
/// Ignore every controller method in FooBarController in documentation
[ApiExplorerSettings(IgnoreApi = true)]
public class FooBarController
{
public Bar GetFoo
{
...
}
public Bar GetBar
{
...
}
}
詳細については、このGitHub の問題を参照してください。私はこれを Swashbuckle 4.1.x で使用しました。