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

如何在Swagger/OpenAPI中继承Schema并覆写字段描述?

解决OpenAPI Schema继承并覆写字段描述的问题

当然可以,你可以借助OpenAPI的allOf关键字,结合局部属性定义来实现只覆写birth-date字段的description,同时继承UserDetails的所有其他属性,方法和你修改required属性的思路类似但更直接。

具体实现示例

UserDetails-Create:
  allOf:
    - $ref: '#/components/schemas/UserDetails'
    - type: object
      properties:
        birth-date:
          description: 这里填写你需要的新描述文本,替换原UserDetails中的描述

原理说明

  • allOf会将多个Schema的属性进行合并,当同一个字段在多个子Schema中存在时,后面的定义会覆盖前面的对应属性(仅覆盖你明确指定的部分,比如这里只写了description,那么birth-date的其他属性如type、format等依然沿用UserDetails中的定义)。
  • 如果需要同时调整required字段,直接把required数组和allOf放在同一层级即可,就像你之前的示例那样:
UserDetails-Create:
  required:
    - name
    - age
    - birth-date
  allOf:
    - $ref: '#/components/schemas/UserDetails'
    - type: object
      properties:
        birth-date:
          description: 新的描述内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:54:51