当前位置: 首页 > 知识库问答 >
问题:

在Swager子对象的“必需”部分中引用父对象属性

卢英叡
2023-03-14

在Swagger中,在定义子对象的哪些属性是必需的时,是否可以引用父对象的属性?

例如,给定以下基类:

definitions:
  Pet:
    type: object
    properties:
      name:
        type: string
      owner:
        type: string

我希望有两个子类:一个用于创建Pet(有效负载中需要所有属性),另一个用于更新Pet(不需要任何属性)。我试图通过以下方式实现这一目标:

  CreatePetRequest:
    allOf:
      - $ref: '#/definitions/Pet'
    required:
      - name
      - owner

  UpdatePetRequest:
    allOf:
      - $ref: '#/definitions/Pet'

然而,这是行不通的。相反,会引发一个异常:

swagger_spec_validator.common.SwaggerValidationError: Required list has properties not defined: ['name', 'owner']

我怎样才能做到这一点?Swagger甚至可能吗?

共有1个答案

潘雅珺
2023-03-14

我看到特定版本的 swagger-spec-validator pip 包存在完全相同的问题,就我而言,是 2.0.4 版解决了这个问题。使用 pip install swagger-spec-validator==2.0.4 安装它,或者在要求中使用版本号固定包.txt

 类似资料:
  • 问题内容: 我正在向我的朋友解释OOP。我无法回答这个问题。(我有多可耻? 我只是想逃避,因为OOP描绘了现实世界。在现实世界中,父母可以容纳孩子,但孩子不能容纳父母。OOP也是如此。我知道它很愚蠢。:P 为什么此陈述无效? 因为aChild的成员是aParent成员的超集。那为什么孩子不能容纳父母。 问题答案: 正是因为aChild是aParent功能的超集。你可以写: 因为每只狐狸都是动物。但

  • 当我对它进行降序排序时,它应该首先显示Parent3,因为它有一个Z。这是我当前的hql,它得到了1>2>3的错误结果: 如果没有distinct,尽管它选择了多个相同的父级,但它仍然很好。 我有一个模型设置如下: 编辑:在集合中按HQL顺序对其进行排序,尽管当双亲具有相同的children.name值时,它不会比较下一个可能的值。即。 如果Parent1有孩子abba,zeon Parent2有

  • 问题内容: 就像是 这是我想象的格式,但事实并非如此。什么会退回到对象的父级? 问题答案: JavaScript本身不提供此功能。而且我怀疑您是否可以创建这种类型的功能。例如: 鲍比属于谁?

  • 我需要描述一个api,在请求体中有一个带有必填字段的对象,其中一个字段是一个对象本身,它有另一组必填字段。 我正在使用开放api v3和swagger编辑器(https://editor.swagger.io/)在我把我的。将yaml文件放到编辑器上,我生成了一个html客户端( 我希望字段1是必需的,字段2是可选的,但事实并非如此。 这是我的。yaml文件

  • 考虑类家长: 和类儿童: 如果我在应用程序中创建一个新的子对象,并将其放入父对象的children字段中,然后持久化父对象,为什么Hibernate不自动更新子对象的Parent字段(以便设置parentID列)?

  • 我正在尝试使用Dozer从JAXB实体“JaxbParent”填充Hibernate实体“Parent”。我的Hibernate实体: 我的Jaxb实体看起来像: My Dozer xml映射配置: 因此,为了将孩子列表转换为孩子集,我使用CustomConverter,并且我得到了正确的数据字段。问题是,Hibernate需要每个孩子都有对父对象的引用(以执行保存),但目前它为空。我试图将“th