一、再XX.Web项目中用Nuget安装Swashbuckle.AspNetCore.SwaggerGen和Swashbuckle.AspNetCore.SwaggerUI
二、在Startup.cs中添加如下代码
public classStartup { publicIServiceProvider ConfigureServices(IServiceCollection services) { services.AddMvc(options =>{ options.Filters.Add(newAutoValidateAntiforgeryTokenAttribute()); }); //// Configure CORS for angular2 UI //services.AddCors( //options => options.AddPolicy( //_defaultCorsPolicyName, //builder => builder //.WithOrigins( // //App:CorsOrigins in appsettings.json can contain more than one address separated by comma. //_appConfiguration["App:CorsOrigins"] //.Split(",", StringSplitOptions.RemoveEmptyEntries) //.Select(o => o.RemovePostFix("/")) //.ToArray() //) //.AllowAnyHeader() //.AllowAnyMethod() //) //); //Swagger - Enable this line and the related lines in Configure method to enable swagger UI services.AddSwaggerGen(options =>{ options.SwaggerDoc("v1", new Info { Title = "M API", Version = "v1"}); options.DescribeAllEnumsAsStrings(); //Enum转字符串 options.DescribeAllParametersInCamelCase(); //开启驼峰规则 options.DocInclusionPredicate((docName, description) => true); //显示备注 options.IncludeXmlComments(GetXmlCommentsPath("XX.Web")); //注意:此处替换成所生成的XML documentation的文件名。 options.IncludeXmlComments(GetXmlCommentsPath("XX.Application")); //注意:此处替换成所生成的XML documentation的文件名。 //Define the BearerAuth scheme that's in use options.AddSecurityDefinition("bearerAuth", newApiKeyScheme() { Description = "JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"", Name = "Authorization", In = "header", Type = "apiKey"}); //Assign scope requirements to operations based on AuthorizeAttribute options.OperationFilter<SecurityRequirementsOperationFilter>(); }); } public voidConfigure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { app.UseMvc(routes =>{ routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); //Enable middleware to serve generated Swagger as a JSON endpoint app.UseSwagger(); //Enable middleware to serve swagger-ui assets (HTML, JS, CSS etc.) app.UseSwaggerUI(options =>{ options.InjectOnCompleteJavaScript("/swagger/ui/abp.js"); options.InjectOnCompleteJavaScript("/swagger/ui/on-complete.js"); options.SwaggerEndpoint("/swagger/v1/swagger.json", "M API V1"); }); //URL: /swagger } /// <summary> ///获取帮助文件路径 /// </summary> /// <param name="name">文件名</param> /// <returns></returns> protected string GetXmlCommentsPath(stringname) { return string.Format(@"{0}{1}.XML", AppDomain.CurrentDomain.BaseDirectory, name); } }