anyOf: {$ref} в определении схемы JSON swagger

Я пытаюсь использовать сваггер для описания JSON API. Пока это выглядит хорошо, но я не могу понять, как использовать структуру anyOf для определения массива различных типов объектов в ответе JSON.

Следующая схема JSON является допустимой и должна описывать массив объектов Article и Video JSOn:

{
"Article":{
  "id":"Article",
  "required": ["title"],
  "properties":{
    "title":{
      "type":"string",
      "description": "Title of the article"
    }
  }
},

"Video":{
  "id":"Video",
  "required": ["title"],
  "properties":{
    "title":{
      "type":"string",
      "description": "Title of the video"
    }
  }
},

"News":{
  "id":"News",
  "required": ["instance_data"],
  "properties":{
    "instance_data":{
        "anyOf":[
           { "$ref": "Article" },
           { "$ref": "Video" } ],
      "description": "News instance data"
    }
  }
}
}

Но в swagger тип объекта всегда отображается как неопределенный вместо "Статья или Видео".

Можно ли вообще в чванстве сделать эту работу?

1 ответ

Просто чтобы быть ясно: Swagger v2.0 не поддерживает anyOf. Читайте больше здесь: https://github.com/swagger-api/swagger-spec/issues/57

Другие вопросы по тегам