スワッシュバックルがXMLコメントから読み込むには、ターゲットプロジェクトのXMLドキュメントファイルを有効にする必要があります。それに加えて、スタートアップの設定でそのファイルでSwashbuckleを指す必要があります。 Swashbuckle Documentationから
:
を開き、プロジェクトのプロパティダイアログ、「構築」タブをクリックし、 は、「XMLドキュメントファイル」にチェックされていることを確認してください。これにより、ビルド時にすべてのXMLコメントを含む ファイルが生成されます。
この時点で、XML コメントで注釈されていないクラスまたはメソッドはビルド警告をトリガします。これをSUPRESSするには、 プロパティダイアログで「を抑圧警告」欄に 警告コード「1591」を入力してください*
設定Swashbuckle闊歩JSON生成 にファイルのXMLコメントを組み込むために:。
を要約、発言やレスポンスタグと
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1",
new Info
{
Title = "My API - V1",
Version = "v1"
}
);
var filePath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "MyApi.xml");
c.IncludeXmlComments(filePath);
}
注釈あなたの行動
/// <summary>
/// Retrieves a specific product by unique id
/// </summary>
/// <remarks>Awesomeness!</remarks>
/// <response code="200">Product created</response>
/// <response code="400">Product has missing/invalid values</response>
/// <response code="500">Oops! Can't create your product right now</response>
[HttpGet("{id}")]
[ProducesResponseType(typeof(Product), 200)]
[ProducesResponseType(typeof(IDictionary<string, string>), 400)]
[ProducesResponseType(typeof(void), 500)]
public Product GetById(int id)
プロジェクトを再構築してXMLコメントファイルを更新し、Swagger JSONエンドポイント に移動します。説明が 対応するSwaggerフィールドにどのようにマッピングされるかに注意してください。
「Swagger APIを使用する」とはどういう意味ですか?具体的にどのライブラリを使用して、C#から奇妙なドキュメントを生成していますか? – mclark1129
C#Web APIで 'Swashbuckle.AspNetCore'を使用しています。 – Sameer