ASP.NET WebApiでSwaggerを使ってみる。

導入方法

NugetでSwashbuckleを追加します。

f:id:CreatioVitae:20151224163631p:plain

Nugetでの導入後、SwaggerConfigが作られているため、XMLドキュメントコメントを参照するように変更を加えます。

下記コードがコメントアウトされているので、コメントアウトを解除します。

c.IncludeXmlComments(GetXmlCommentsPath());

GetXmlCommentsPathメソッドがないと怒られるので、GetXmlCommentsPathメソッドを作成します。

private static string GetXmlCommentsPath()
{
    return string.Format(@"{0}\bin\[プロジェクト名].XML", System.AppDomain.CurrentDomain.BaseDirectory);
}

XMLの参照先については、ビルド時に出力したXMLを指定すればOKです。

※各アクションのヘッダーコメントは、XMLドキュメントコメントで記述してください。
詳細は下記参照してください。(といっても、いつものスラッシュ3つで付けるアレです。)
https://msdn.microsoft.com/ja-jp/library/b2s063f7.aspx

アプリを起動したら、[ドメインURL(localhostだったらlocalhost:ポート番号)/swagger/ui/index]をGetでたたくことで、Swagger Uiが表示されます。

f:id:CreatioVitae:20151224170448p:plain

f:id:CreatioVitae:20151224170501p:plain

ルートパラメーター、クエリーパラメーター、リクエストボディ等の仕様が表示されます。

記述したアクションのヘッダーコメントは、アクション名の右側に表示されます。