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