You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenApiSchema的Default字段可用值?布尔值转OpenAPIAny报错求解

解决OpenAPI参数默认值的类型转换错误

你碰到的问题核心是:OpenApiSchema.Default属性要求的是OpenApiAny类型实例,不能直接赋值C#原生的bool。要设置布尔默认值,必须用OpenAPI规范对应的类型包装类。

修正后的代码

operation.Parameters.Add(new OpenApiParameter()
{
    Name = "Name",
    In = ParameterLocation.Query,
    Description = "Description",
    Required = false,
    Schema = new OpenApiSchema
    {
        Type = "boolean",
        Default = new OpenApiBoolean(true) // 使用OpenApiBoolean包装布尔值
    }
});

除布尔值外,还可以设置的默认值类型

  • 布尔类型:new OpenApiBoolean(true) 或 new OpenApiBoolean(false)
  • 字符串类型:new OpenApiString("your_default_value")
  • 整数类型:new OpenApiInteger(100)
  • 浮点数类型:new OpenApiDouble(3.14) 或 new OpenApiFloat(2.5f)
  • 空值:直接设为null(表示无默认值)
  • 数组类型:用OpenApiArray包装元素,比如new OpenApiArray { new OpenApiString("item1"), new OpenApiInteger(2) }
  • 对象类型:用OpenApiObject包装键值对,比如new OpenApiObject { ["key"] = new OpenApiString("value") }

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 06:18:24