ASP.NET Web Api Swagger 字符串参数错误 - 无描述

问题描述

我正在使用 Swagger UI 来测试我的 ASP.NET Web Api 应用程序。我添加一个允许操作参数的类

public void Apply(OpenApiOperation operation,OperationFilterContext context)
{
    if (operation.Parameters == null) 
        operation.Parameters = new List<OpenApiParameter>();

    operation.Parameters.Add(new OpenApiParameter
    {
        Name = "ApiKey",In = ParameterLocation.Header,required = true,Schema = new OpenApiSchema
        {
            Type = "String"
        }
    });
    operation.Parameters.Add(new OpenApiParameter
    {
        Name = "Authentication",required = false,Schema = new OpenApiSchema
        {
            Type = "String"
        }
    });
}

在我的 Startup.cs 中,我将这一行添加到 ConfigurationServices 方法

c.OperationFilter<CustomHeaderSwaggerAttribute>();

当我尝试测试其中一种控制器方法时,无论我在文本框中输入什么内容,我的 ApiKey 字符串参数始终显示错误

enter image description here

解决方法

我不确定 Schema 属性,但过去对我有用(将 type 设置为 string):

operation.Parameters.Add(new Parameter
        {
            name = "ApiKey",@in = ParameterLocation.Header,required = true,type = "string"                
        });

有关详细信息,请参阅this post