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

如何在OpenAPI 3.0.3中定义不允许包含null对象的数组

解决OpenAPI 3.0.3数组禁止包含null对象的问题

要让users数组不允许包含null对象,只需确保数组元素的Schema明确排除null值即可,具体有两种处理方式:

方式1:显式禁止数组元素为null

在users数组的items配置中添加nullable: false,强制约束元素不能是null:

CreateUsersRequest:
  type: object
  required:
    - users
  properties:
    users:
      type: array
      items:
        $ref: '#/components/schemas/User'
        nullable: false  # 明确禁止元素为null

方式2:依赖User Schema的默认约束

你的User Schema已经定义type: object,在OpenAPI 3.0.x规范中,未设置nullable: true的Schema默认不允许null值。如果验证工具严格遵循规范,原定义其实已经会拒绝包含null的数组实例。

如果遇到验证工具未生效的情况,推荐用方式1显式添加约束,消除歧义。

按照上述定义,你提供的包含null的数组实例会验证失败,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 19:16:08