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

如何定义含可选元素的数组,每个元素需遵循各自独立Schema?

解决方案

你需要实现的是:数组可包含任意数量(包括0个)的元素,每个存在的元素必须匹配指定的某一个插件Schema,且元素顺序不受限制。之前的写法中,用数组形式定义items会强制要求元素按指定顺序存在,而dependentSchemas是用于对象属性的依赖校验,并不适用于数组场景。正确的实现方式是使用oneOf来定义数组元素的可选Schema:

{
  "plugins": {
    "type": "array",
    "items": {
      "oneOf": [
        { "$ref": "plugins/oidc/oidc_apigw-plugin-schema.json" },
        { "$ref": "plugins/oidc/oidc_websso-plugin-schema.json" }
      ]
    },
    "additionalItems": false
  }
}

关键说明

  • items搭配oneOf:数组中的每个元素必须匹配oneOf列表里的任意一个Schema,既支持只包含其中一种插件、两种插件都包含,也支持空数组,完全不限制元素顺序。
  • additionalItems: false:如果需要严格禁止数组中出现这两种插件之外的其他元素,保留该配置;若允许存在未定义类型的元素,可以删除这一行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:25:45