ASP.NETCore-中间件Middleware(一)_Swagger_Net7

1、配置Swagger

  builder.Services中使用AddSwaggerGen添加Swagger配置

  #region Swagger文档
  //builder.Services.AddSwaggerGen();          // 添加swagger配置-使用默认配置
  builder.Services.AddSwaggerGen(options =>
  {
      options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
      {
          // 接口文档的名字
          Title = "飞跃fly-API",
          // 接口文档的版本
          Version = "V1.0",
          // 接口文档的描述
          Description = "飞跃fly-API说明",
          // 接口文档的服务条款网址
          TermsOfService = new Uri("https://example.com/terms"),
          // 接口文档的维护联系信息
          Contact = new OpenApiContact
          {
              Name = "接口文档维护联系",
              Email = "2806933146@qq.com",
              Url = new Uri("https://example.com/contact")
          },
          // 接口文档的License信息
          License = new OpenApiLicense
          {
              Name = "接口文档的License",
              Url = new Uri("https://example.com/license")
          }
      });
  });  // 添加swagger配置(SwaggerDoc指明Swagger页面Doc区域的内容)
  #endregion Swagger文档

2、启用Swagger

   app中使用UseSwagger()app.UseSwaggerUI()启用Swagger配置;Swagger一般只在开发环境中使用(app.Environment.IsDevelopment()

  var app = builder.Build();
  
  // Configure the HTTP request pipeline.
  if (app.Environment.IsDevelopment())
  {
      app.UseDeveloperExceptionPage();  // 开发环境下的异常处理页
  
      #region 使用Swagger文档
      app.UseSwagger();
      //app.UseSwaggerUI();  // 展示默认SwaggerUI页面
      app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",$"飞跃fly-API V1.0"));  // 设置展示的页面和页面切换下拉选择框的标题
      #endregion 使用Swagger文档
  }

  ...
  app.MapControllers();
  app.Run();

3、完整代码

public static void Main(string[] args)
        {
            var builder = WebApplication.CreateBuilder(args);
            builder.Services.AddControllers();            // 添加Controller
            
            ...
            #region Swagger文档
            //builder.Services.AddSwaggerGen();          // 添加swagger配置-使用默认配置
            builder.Services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
                {
                    // 接口文档的名字
                    Title = "飞跃fly-API",
                    // 接口文档的版本
                    Version = "V1.0",
                    // 接口文档的描述
                    Description = "飞跃fly-API说明",
                    // 接口文档的服务条款网址
                    TermsOfService = new Uri("https://example.com/terms"),
                    // 接口文档的维护联系信息
                    Contact = new OpenApiContact
                    {
                        Name = "接口文档维护联系",
                        Email = "2806933146@qq.com",
                        Url = new Uri("https://example.com/contact")
                    },
                    // 接口文档的License信息
                    License = new OpenApiLicense
                    {
                        Name = "接口文档的License",
                        Url = new Uri("https://example.com/license")
                    }
                });
            });  // 添加swagger配置(SwaggerDoc指明Swagger页面Doc区域的内容)
            #endregion Swagger文档

            var app = builder.Build();

            // Configure the HTTP request pipeline.
            if (app.Environment.IsDevelopment())
            {
                #region 使用Swagger文档
                app.UseSwagger();
                //app.UseSwaggerUI();  // 展示默认SwaggerUI页面
                app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",$"飞跃fly-API V1.0"));  // 设置展示的页面和页面切换下拉选择框的标题
                #endregion 使用Swagger文档
            }
            
            ...
            app.MapControllers();
            app.Run();
        }
posted @ 2023-05-17 17:54  ꧁执笔小白꧂  阅读(91)  评论(0)    收藏  举报