搭建:带有 Swagger/OpenAPI 的 ASP.NET Core Web API 帮助页

一、目的:记录搭建带有Swagger的WebApi过程

二、环境:

1、VS2019

2、.NetCore3.0

三、效果

搭建:带有 Swagger/OpenAPI 的 ASP.NET Core Web API 帮助页

四、过程

1、添加包:Swashbuckle.AspNetCore 选择最新预览版本:5.0.0-rc4 注意不选此版本会报错误

2、添加包:Microsoft.OpenApi 1.1.4

3、public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();

            // Do:注册Swagger生成器并初始化一个或多个文档
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });

                // Do:增加说明文档
                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                c.IncludeXmlComments(xmlPath);
            });

        }
4、 public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            // Do:启用中间件服务Swagger
            app.UseSwagger();

             // Do:启用中间件服务swagger-ui
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API");

                c.RoutePrefix = string.Empty;
            });

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }

5、项目-属性-调试-启动项目浏览器

6、项目-属性-生成-生成XML文档

五、下载地址:

GitHub地址:https://github.com/HeBianGu/.NetCore-LearnDemo.git