Swagger-隐藏api版本参数

问题描述 投票:0回答:1

是否可以隐藏'api-version'和'x-api-version'参数?

        services.AddApiVersioning(config =>
        {
            config.ReportApiVersions = true;
            config.DefaultApiVersion = new ApiVersion(1, 0);
            config.AssumeDefaultVersionWhenUnspecified = true;

            config.ApiVersionReader = ApiVersionReader.Combine(
             new QueryStringApiVersionReader(),
             new HeaderApiVersionReader()
             {
                 HeaderNames = { "x-api-version" }
             });
        });

        services.AddVersionedApiExplorer(
            options =>
            {
                // note: the specified format code will format the version as "'v'major[.minor][-status]"
                options.GroupNameFormat = "'v'VVV";

                options.DefaultApiVersionParameterDescription = "Do NOT modify api-version!";
            });

我已经检查了how-to-set-up-swashbuckle-vs-microsoft-aspnetcore-mvc-versioning,该方法实现了'RemoveVersionFromParameter'方法,但是在那种情况下,Swagger页面会松开api版本,并始终使用默认的v1.0。如代码片段所示,我正在使用QueryStringApiVersionReader和HeaderApiVersionReader,但我不想支持url api版本控制。

注意:对于所有版本(例如V1,V1.1,V2.0),该API确实都有多个swagger json页面

enter image description here

c# .net api swagger-ui swashbuckle
1个回答
0
投票

您可以add your own custom CSS并使用它来隐藏这些元素(并进行其他所需的自定义操作)。

app.UseSwaggerUI(c =>
{
    ...
    c.InjectStylesheet("/swagger-ui/custom.css");
    ...
});
© www.soinside.com 2019 - 2024. All rights reserved.