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

如何在Swagger YAML中声明嵌套数组?及‘flow collection entries间缺少逗号’错误排查

解决Swagger中嵌套数组声明的YAML语法错误

你的错误核心是YAML语法格式不规范,具体问题集中在这几点:

  • 嵌套的items定义里,把type: array和items:直接连写,既没加逗号分隔,也没正确缩进,导致YAML解析器无法识别结构
  • 定义对象属性时,没有把cells放在properties字段下,不符合Swagger的Schema规范
  • 内部对象的属性(field、name等)缺少正确的缩进和结构层级,语法混乱

正确的Swagger YAML写法

按照你需求的嵌套数组结构,正确的定义应该是这样:

definitions:
  columns:
    type: object
    properties:
      cells:
        type: array
        items:
          # 定义嵌套数组的第二层(数组类型)
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              name:
                type: string
              width:
                type: string
              sortable:
                type: boolean
            # 可选:标记必填字段,让文档更严谨
            required:
              - field
              - name

关键修正点说明

  1. 所有对象属性必须放在properties节点下,这是Swagger Schema的强制要求
  2. 嵌套数组需要两层items:第一层items定义内部数组的类型,第二层items定义内部数组元素的对象结构
  3. YAML对缩进和格式极度敏感,每个层级要保持一致的缩进,属性之间用换行分隔(必要时可加逗号,但换行通常足够)
  4. 可以按需添加required列表,明确标记哪些属性是必填项,提升接口文档的实用性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 06:17:40