.net webapi 基础配置,项目名字,版本信息

 1. 再Program.cs 文件中添加

using WebApplication1.Webapi.Utility.ApiVersions;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(options =>
{
    typeof(ApiVersions).GetEnumNames().ToList().ForEach(version =>
    {
        options.SwaggerDoc(version, new Microsoft.OpenApi.Models.OpenApiInfo()
        {
            Title = "xxxxxxxxApi接口文档",
            Version = version,
            Description= "coreApi版本"+ version
        }) ;
    });
});

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(option =>
    {
        foreach(string version in typeof(ApiVersions).GetEnumNames().ToList())
        {
            option.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"xxxxx平台【{version}】版本");
        }
    });
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

2. 第二部

//设置当前是属于那个版本
[ApiExplorerSettings(IgnoreApi = false, GroupName = nameof(ApiVersions.V1))]

 

------------------------------------------------------------------------下面的是简化配置---------------------------------------------------------------------------------------
1. 在 Program.cs 文件中, var app = builder.Build(); 语句之前添加

//注册swagger服务
builder.Services.AddSwaggerGen(m =>
{
    //第一个参数"后端提供的版本号,自己定义"
    //Title: 项目的名字
    //Version: 当前项目的版本
    m.SwaggerDoc("v1", new OpenApiInfo { Title= "swaggerTest" , Version= "v1"});
});

2. 在var app = builder.Build();语句之后添加

app.UseSwagger();
app.UseSwaggerUI(c =>
{
    //第一个参数:设置生成的json地址
    //v1 必须对应注册swagger服务后端提供的版本号一致
    //第二个参数: 名称
    c.SwaggerEndpoint("/swagger/v1/swagger.json","swaggerTest");
;});

3.完整代码如下

using Microsoft.OpenApi.Models;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
//注册swagger服务
builder.Services.AddSwaggerGen(m =>
{
    //第一个参数"后端提供的版本号,自己定义"
    //Title: 项目的名字
    //Version: 当前项目的版本
    m.SwaggerDoc("v1", new OpenApiInfo { Title= "swaggerTest" , Version= "v1"});
});
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}
app.UseSwagger();
app.UseSwaggerUI(c =>
{
    //第一个参数:设置生成的json地址
    //v1 必须对应注册swagger服务后端提供的版本号一致
    //第二个参数: 名称
    c.SwaggerEndpoint("/swagger/v1/swagger.json","swaggerTest");
;});
app.UseAuthorization();
app.MapControllers();
app.Run();

配置启动项默认打开界面: 在 Properties 文件夹下打开 launchSettings.json

 

posted @ 2024-05-24 11:54  龙卷风吹毁停车场  阅读(47)  评论(0)    收藏  举报