Swashbuckle UI 显示不同版本的相同信息
Swashbuckle UI displays same information for different versions
我们已经在 Web Api 项目上实施了 Swashbuckle,我注意到 SwaggerUI 测试工具为地址中指定的任何版本显示完全相同的信息。更具体地说,它显示 SwaggerConfig 中 VersionInfoBuilder 最先出现的 swagger 信息。
例如,如果我导航到“/preview/swagger/index” - 显示的 UI 是与版本 'preview'.
无关的所有 v1 信息
我做错了什么?
public class SwaggerConfig
{
private SwaggerConfig() { }
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger("{apiVersion}/swagger", c =>
{
c.MultipleApiVersions(
(apiDesc, version) =>
{
var path = apiDesc.RelativePath.Split('/');
var pathVersion = path[0];
return CultureInfo.InvariantCulture.CompareInfo.IndexOf(pathVersion, version, CompareOptions.IgnoreCase) >= 0;
},
vc =>
{
vc.Version("v1", "Api - v1");
vc.Version("preview", "Api - Preview");
});
})
.EnableSwaggerUi("{apiVersion}/swagger/{*assetPath}", c =>
{
c.DisableValidator();
});
}
}
我认为配置没有错,只是你的期望不正确。
您不必导航到另一个 Swagger UI(位于 preview/docs/index
),但您必须将 Swagger UI 指向另一个规范。只需在 header 中的输入框中输入 http://yourserver:yourport/preview/swagger 并按探索。 Swagger UI 现在将加载并显示预览规范。
我们已经在 Web Api 项目上实施了 Swashbuckle,我注意到 SwaggerUI 测试工具为地址中指定的任何版本显示完全相同的信息。更具体地说,它显示 SwaggerConfig 中 VersionInfoBuilder 最先出现的 swagger 信息。
例如,如果我导航到“/preview/swagger/index” - 显示的 UI 是与版本 'preview'.
无关的所有 v1 信息我做错了什么?
public class SwaggerConfig
{
private SwaggerConfig() { }
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger("{apiVersion}/swagger", c =>
{
c.MultipleApiVersions(
(apiDesc, version) =>
{
var path = apiDesc.RelativePath.Split('/');
var pathVersion = path[0];
return CultureInfo.InvariantCulture.CompareInfo.IndexOf(pathVersion, version, CompareOptions.IgnoreCase) >= 0;
},
vc =>
{
vc.Version("v1", "Api - v1");
vc.Version("preview", "Api - Preview");
});
})
.EnableSwaggerUi("{apiVersion}/swagger/{*assetPath}", c =>
{
c.DisableValidator();
});
}
}
我认为配置没有错,只是你的期望不正确。
您不必导航到另一个 Swagger UI(位于 preview/docs/index
),但您必须将 Swagger UI 指向另一个规范。只需在 header 中的输入框中输入 http://yourserver:yourport/preview/swagger 并按探索。 Swagger UI 现在将加载并显示预览规范。