【发布时间】:2020-03-21 19:28:29
【问题描述】:
是否可以隐藏“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!";
});
我已经检查了实现“RemoveVersionFromParameter”方法的how-to-set-up-swashbuckle-vs-microsoft-aspnetcore-mvc-versioning,但在这种情况下,Swagger 页面会丢失 api 版本并始终使用默认的 v1.0。如代码sn-p所示,我使用的是QueryStringApiVersionReader和HeaderApiVersionReader,但是我不想支持url api版本。
注意:API 确实为所有版本(例如 V1、V1.1、V2.0)提供了多个 swagger json 页面
【问题讨论】:
标签: c# .net api swagger-ui swashbuckle