Model 提供';示例值';对于带有可选字段的swagger.yaml对象

Model 提供';示例值';对于带有可选字段的swagger.yaml对象,model,swagger,Model,Swagger,我试图在“模型”选项卡中提供更多描述,并在“示例值”选项卡中提供带有可选对象的swagger.yaml对象的示例值 我的补丁请求(RestAPI)使用的模型在My swagger.yaml中定义如下: mymodel: items: - $ref: '#/definitions/modelHeader' - $ref: '#/definitions/modelPayload' 目前,mymodel已经 “Model”为“mymodel{}”,而“Exam

我试图在“模型”选项卡中提供更多描述,并在“示例值”选项卡中提供带有可选对象的swagger.yaml对象的示例值

我的补丁请求(RestAPI)使用的模型在My swagger.yaml中定义如下:

  mymodel:
    items:  
      - $ref: '#/definitions/modelHeader'
      - $ref: '#/definitions/modelPayload'
目前,mymodel已经 “Model”为“mymodel{}”,而“Example Value”为“{}”

modelHeader和modelPayload是定义了示例的复合对象。 尽管mymodel不强制任何字段,但我希望它用示例显示这些可选字段

我知道我可以在示例中定义一个最小值,例如:[{name:'myname',value:'myvalue1'},{name:'myname2',value:'myvalue2'}]

但这很麻烦,仍然无法填充“模型”。 是否可以提供json的url作为示例


如有任何提示或想法,将不胜感激。我仍然不熟悉YAML规范

您的规范无效,因为
需要单一类型,而不是类型数组:

items:
  type: string

# or

items:
  $ref: '#/definitions/something'
我希望mymodel是一个使用“allOf”的对象

allOf
的正确语法是:

  mymodel:
    allOf:  
      - $ref: '#/definitions/modelHeader'
      - $ref: '#/definitions/modelPayload'
allOf
重用每个模型中的
示例。例如,如果基本模型定义如下:

  modelHeader:
    type: object
    properties:
      id:
        type: integer
        example: 1

  modelPayload:
    type: object
    properties:
      name:
        type: string
        example: Alice
mymodel
获取以下示例:

{
  "id": 1,
  "name": "Alice"
}

您的规范无效。
mymodel
应该是包含
modelHeader
modelPayload
对象的数组,还是包含
modelHeader
modelPayload
属性的组合对象?我的规范没有抛出错误,因此我相信它是有效的。我希望mymodel是一个使用“allOf”的对象,但它在yaml中抛出了错误,所以我将其更改为数组。产品功能与之配合使用*将其更改为字典。我不会为YAML规范操心太多。您的YAML是有效的,它是swagger对解析的YAML所做的解释,带有特定的swagger-ish期望,这是错误的。谢谢@Helen。我不知道为什么Swagger editor没有为我使用项目抛出错误。但allOf现在对我有用。谢谢你指出!它以前不起作用可能是因为一些不相关的更改:)