首先要现有一个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包。