问题描述
翻译为宠物多态性示例:
因此,有多个请求要传递取决于宠物类型的参数。如果参数始终相同:没问题。我可以生成文档,并获得一个带有不同参数的值cat / dog的下拉菜单。 但是在下一步中,我需要为每个请求使用不同的参数。因此,不仅定义了“猫与狗的宠物”的定义,还定义了例如“猫和狗”具有不同参数的WildAnimal。
- 如果我为“猫”和“狗”创建了多个定义,则会出现“重复键”错误。
- 如果我将第二组“猫”和“狗”重命名为“ WildCat”和“ WildDog”,则petType字符串也将更改为“ WildCat”和“ WildDog”。
- 如果我尝试创建“动物”之类的“超定义”,并使用不同类型的动物(如“宠物”和“野生动物”)继承allAll的所有参数,则我不知道将鉴别符放在何处。如果在超级定义中,则在下拉菜单中会获得“ Pet”和“ WildAnimal”作为其他petType。
我找不到内联对cat / dog的几个定义的可能性。我找不到将WildCat和WildDog的“显示名称”更改为Cat和Dog的可能性(因此,定义名称将与实际的petType值不同)。我在这里几乎没有想法。
其他信息:我无法转换为3.0,因为我需要在GET请求中使用requestBody(不是通过选择)。
Pet:
type: object
discriminator: petType
properties:
name:
type: string
petType:
type: string
required:
- name
- petType
Cat:
description: A representation of a cat
allOf:
- $ref: '#/definitions/Pet'
- type: object
properties:
huntingSkill:
type: string
description: The measured skill for hunting
default: lazy
enum:
- clueless
- lazy
- adventurous
- aggressive
required:
- huntingSkill
Dog:
description: A representation of a dog
allOf:
- $ref: '#/definitions/Pet'
- type: object
properties:
packSize:
type: integer
format: int32
description: the size of the pack the dog is from
default: 0
minimum: 0
required:
- packSize
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)