gpt4 book ai didi

asp.net-core - 是否可以在 ASP .NET Core 中使用 Swashbuckle 以 Swagger 2.0 和 Open API 3 格式公开相同的 Swagger JSON?

转载 作者:行者123 更新时间:2023-12-05 01:58:28 26 4
gpt4 key购买 nike

我们有一个仅适用于 Swagger 2.0 JSON 格式的遗留应用程序。对于其他一切,我们希望使用开放 API 格式。

Swashbuckle .NET Core 是否有任何方法可以在不同的 URL 下公开不同格式的 JSON?看起来 UseSwagger 方法选项中的 SerializeAsV2 属性对于所有端点都是全局的。

基本上,我希望以下端点包含不同格式的相同 API 数据。

/swagger/v1/openapi/swagger.json
/swagger/v1/swagger2/swagger.json

最佳答案

另一种方法是拆分请求管道:

// serve v3 from /swagger/v1/swagger.json
app.UseSwagger(o => o.RouteTemplate = "swagger/{documentName}/swagger.json");

// serve v2 from /swagger2/v1/swagger.json
app.Map("/swagger2", swaggerApp =>
swaggerApp.UseSwagger(options => {
// note the dropped prefix "swagger/"
options.RouteTemplate = "{documentName}/swagger.json";
options.SerializeAsV2 = true;
})
);

关于asp.net-core - 是否可以在 ASP .NET Core 中使用 Swashbuckle 以 Swagger 2.0 和 Open API 3 格式公开相同的 Swagger JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68546383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com