提问者:小点点

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",
        In = ParameterLocation.Header,
        Required = false,
        Schema = new OpenApiSchema
        {
            Type = "String"
        }
    });
}

在我的startup.cs中,我将此行添加到ConfigurationServices方法中

c.OperationFilter<CustomHeaderSwaggerAttribute>();

当我尝试并测试其中一个控制器方法时,无论我在TextBox中放了什么,我的ApiKey字符串参数总是显示错误。


共1个答案

匿名用户

我不确定属性,但以下方法过去对我很有用(将设置为

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

欲知更多详情,请参阅本帖