是否有 <NonBodyParameter> 等效项

Yoa*_*eva 7 swagger swashbuckle .net-core-3.0

我更新了 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;
            }
        }
Run Code Online (Sandbox Code Playgroud)

错误 CS0307 属性“OpenApiOperation.Parameters”不能与类型参数一起使用

小智 7

来自Swashbuckle.AspNetCore GitHub 站点

在 OpenAPI v3 中,主体参数被拆分为一个名为 RequestBody 的单独属性。因此,我认为您可以完全删除 OfType 过滤器,因为集合中的所有值都是“非主体”

我认为你应该能够使用OpenApiParameter.