NuGet安装Swagger程序包
在Startup类的ConfigureServices方法添加如下代码,使项目中添加ConfigureServices中间件
#region Swagger services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Version = "v1", Title = "Api Swagger", Description = "Api说明文档", TermsOfService = "None", Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "Api.Swagger", Email = "2274367387@qq.com", Url = "https://github.com/ZhengHengWU" } }); //如果不加入以下两个xml 也是可以的 但是不会对api有中文说明,使用了一下两个xml 就需要对成员使用///注释 //本webapi的xml var basePath = Microsoft.DotNet.PlatformAbstractions.ApplicationEnvironment.ApplicationBasePath; var xmlPath = Path.Combine(basePath, "Api.xml");//这个就是刚刚配置的xml文件名 c.IncludeXmlComments(xmlPath, true);//默认的第二个参数是false,这个是controller的注释,记得修改 c.OperationFilter<AddAuthTokenHeaderParameter>(); }); #endregion
在Startup类的Configure,使项目能够使用ConfigureServices中间件
#region Swagger app.UseSwagger(c => { c.PreSerializeFilters.Add((swaggerDoc, httpReq) => { swaggerDoc.Host = httpReq.Host.Value; }); }); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1"); c.RoutePrefix = string.Empty; c.DefaultModelExpandDepth(1); c.DefaultModelRendering(ModelRendering.Example); c.DefaultModelsExpandDepth(1); c.DisplayOperationId(); c.DisplayRequestDuration(); c.DocExpansion(DocExpansion.None); c.EnableDeepLinking(); c.EnableFilter(); c.MaxDisplayedTags(5); c.ShowExtensions(); c.EnableValidator(); c.SupportedSubmitMethods(SubmitMethod.Get, SubmitMethod.Post); }); #endregion
ASP.NET Core WebAPI中搭建Swagger Api文档
原文:https://www.cnblogs.com/ZhengHengWU/p/12574307.html