とある技術の開発日記

Diary of irregular phrase programmer

ASP.NET Core RC2 WebAPIでSwaggerを利用する

2016年6月7日~9日にかけてdotnetConf2016というイベントがありました。

www.dotnetconf.net

セッション内容はChannel9で公開されているので気になる方は見てみましょう。

今回は最近のAPI開発周りでよく耳にするSwaggerを利用してみたいと思います。

従来のASP.NETでもSwaggerを利用する事はできましたが、基本的な流れは変わりません。Swaggerの説明はみそ先生のブログが参考になるでしょう。

miso-soup3.hateblo.jp

手順

  1. NugetパッケージマネージャーでSwashbuckleをインストールする
  2. Startup.csにSwaggerを利用する設定を追記
  3. /swagger/uiにアクセスするとSwaggerUIが表示される

1.NugetでSwashbuckleをインストール

Install-Package Swashbuckle -Pre

.NET Core版はまだbetaなので-Preオプションを付けましょう

f:id:airish9:20160614004225p:plain

2. Startup.csにSwaggerを利用する設定を追記

サービスの設定でSwaggerGenServiceCollectionExtensions.AddSwaggerGenを呼び出して。
アプリケーションの設定でSwaggerGenBuilderExtensions.UseSwaggerGenSwaggerUiBuilderExtensions.UseSwaggerUiを呼び出せばOKです。

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();

    services.AddSwaggerGen();  // Add
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();

    app.UseMvc();

    app.UseSwaggerGen(); // Add
    app.UseSwaggerUi();  // Add
}

3. /swagger/uiにアクセスするとSwaggerUIが表示される

f:id:airish9:20160614010001p:plain

コンフィグの方法がCoreでよく利用するDIになっている以外は基本的に従来と同じで簡単ですね。

Web API: The Good Parts

Web API: The Good Parts