C# 将代码2.0迁移到3.1核心代码,然后swagger api版本不工作
无法隐式转换类型 “System.Collections.Generic.Dictionary”到 'Microsoft.OpenApi.Models.OpenApi路径' 存在显式转换(是否缺少强制转换?)C# 将代码2.0迁移到3.1核心代码,然后swagger api版本不工作,c#,asp.net,core,C#,Asp.net,Core,无法隐式转换类型 “System.Collections.Generic.Dictionary”到 'Microsoft.OpenApi.Models.OpenApi路径' 存在显式转换(是否缺少强制转换?) 它看起来像是OpenApiDocument。Path不是字典 因此,您不能使用swaggerDoc.path=swaggerDoc.path.ToDictionary()赋值 尝试使用新的OpenApiPath对象和Add()方法 var-oap=newopenapipath(); for
它看起来像是
OpenApiDocument。Path
不是字典
因此,您不能使用swaggerDoc.path=swaggerDoc.path.ToDictionary()
赋值
尝试使用新的OpenApiPath
对象和Add()
方法
var-oap=newopenapipath();
foreach(swaggerDoc.path中的变量p)
添加(p.Key.Replace(“v{version}”,swaggerDoc.Info.version),
p、 价值);
swaggerDoc.path=oap;
它看起来像是OpenApiDocument。Path
不是字典
因此,您不能使用swaggerDoc.path=swaggerDoc.path.ToDictionary()
赋值
尝试使用新的OpenApiPath
对象和Add()
方法
var-oap=newopenapipath();
foreach(swaggerDoc.path中的变量p)
添加(p.Key.Replace(“v{version}”,swaggerDoc.Info.version),
p、 价值);
swaggerDoc.path=oap;
类型继承自,而不是继承自
您不能使用swaggerDoc.Paths=swaggerDoc.Paths.ToDictionary()
,但可以从IDictionary创建新的openapipath
var路径=新的openapipath(swaggerDoc)
.路径
.ToDictionary(
path=>path.Key.Replace(“v{version}”,swaggerDoc.Info.version),
path=>path.Value)
);
swaggerDoc.path=路径;
类型继承自,而不是继承自
您不能使用swaggerDoc.Paths=swaggerDoc.Paths.ToDictionary()
,但可以从IDictionary创建新的openapipath
var路径=新的openapipath(swaggerDoc)
.路径
.ToDictionary(
path=>path.Key.Replace(“v{version}”,swaggerDoc.Info.version),
path=>path.Value)
);
swaggerDoc.path=路径;
欢迎来到SO。我建议大家先学习,然后再阅读,作为SO工作原理的介绍,以及如何有效地提问。欢迎来到SO。我建议大家先读一读,然后再读一读,以此来介绍SO是如何工作的,以及如何有效地提问。
public class ReplaceVersionWithExactValueInPath : IDocumentFilter
{
public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
{
swaggerDoc.Paths = swaggerDoc.Paths
.ToDictionary(
path => path.Key.Replace("v{version}", swaggerDoc.Info.Version),
path => path.Value
);
}
}