.net core 配置swagger

首先要现有一个asp.net  webApi项目 这里就不赘述了,接下来就按下面的步骤进行即可(本文是基于swagger 1.0.0-rc3版本的配置)

1.在project.json中添加 swagger的包名   "Swashbuckle.AspNetCore": "1.0.0-rc3",

   保存后vs会自动下载swagger的包 这个可能会需要一定的时间 

2.在status.cs中添加swagger的相关配置

public void ConfigureServices(IServiceCollection services)
{
       services.AddSwaggerGen(options => {

         options.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info
          {
                Version = "v1",
                Title = " API 文档",
                Description = "by bj eland"
       });

  //ApiKeyScheme/BasicAuthScheme/OAuth2Scheme/SecurityScheme
  //options.AddSecurityDefinition("Bearer", new ApiKeyScheme
    //{
    // //Description = "JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"",
    // Name = "Authorization",
    // In = "header",
    // Type = "apiKey"
    //});
  // options.OperationFilter<HttpHeaderFilter>();

  });
  services.AddMvc();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{

  app.UseMvc();

  app.UseSwagger();
  app.UseSwaggerUI(c =>
    {
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1 Docs");
    c.DocExpansion("none");
  });

}

3.项目的属性文件中  设置 "launchUrl": "swagger",
右击启动项目选择属性->Debug->launchUrl   :  swagger

配置完成了,运行项目试试吧

注意:

1.controller中所有的方法都必须添加 [HttpGet]、[HttpPost]....这样的属性

2.同一个controller中相同的属性不能同时存在多个

3.当swagger加载失败的时候,关闭VS2015到项目文件中删除.vs文件,重新打开解决方案,重新添加swagger包。

 

原文地址:https://www.cnblogs.com/ITCoNan/p/7371591.html