我更新了Swashbuckle v5和operation.Parameters()不再有效。是否有替代品?
{
var apiDescription = context.ApiDescription;
operation.Deprecated |= apiDescription.IsDeprecated();
if (operation.Parameters == null)
{
return;
}
// REF: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/412
// REF: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/413
foreach (var parameter in operation.Parameters<NonBodyParameter>())
{
var description = apiDescription.ParameterDescriptions.First(p => p.Name == parameter.Name);
if (parameter.Description == null)
{
parameter.Description = description.ModelMetadata?.Description;
}
if (parameter.Default == null)
{
parameter.Default = description.DefaultValue;
}
parameter.Required |= description.IsRequired;
}
}
错误CS0307属性'OpenApiOperation.Parameters'不能与类型参数一起使用
答案 0 :(得分:0)
来自Swashbuckle.AspNetCore GitHub site
在OpenAPI v3中,主体参数被拆分为单独的属性 称为RequestBody。因此,我认为您也许可以删除OfType 完全过滤掉,因为集合中的所有值都是“非主体”
我认为您应该可以使用OpenApiParameter
。