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 @   ꧁执笔小白꧂  阅读(81)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2022-05-17 VS报错-无法解析位于global.json 中指定的 .NET SDK 版本
点击右上角即可分享
微信分享提示