如何在Swagger中使用$ ref标签来引用不同文件中的定义?
Swagger Editor中的所有示例都定义了相同文件中$ ref标记引用的任何内容。
例如在Swagger编辑器上提供的Uber API示例中,它有许多引用,如"#/ definitions / Product"和"#/ definitions / Errors"。但是,两者都在"定义"中的相同文件中定义。部分。
如果我想定义"产品"或者"错误"在不同的文件中,我该怎么做呢?定义文件包含哪些标签?是否需要拥有Swagger的所有强制标志(如路径)?另外,如何在文档中呈现定义?
答案 0 :(得分:0)
以下是一个例子:
"parameters": [
{
"name": "cat",
"in": "body",
"description": "The JSON payload for the new cat",
"required": true,
"schema": {
"$ref": "cat-new.json"
}
}
]
和cat-new.json定义如下:
{
"description":"An adorable cat",
"type":"object",
"properties":{
"name":{
"type":"string",
"description":"The name given to this cat by the adoption staff",
"minLength":3,
"maxLength":15
},
"colour":{
"type":"string",
"description":"The colour of the cat's fur",
"enum":[
"black",
"tan",
"ginger",
"blue",
"white"
]
},
"toys":{
"type":"array",
"description":"The favourite toys of the cat",
"items":{
"type":"string"
},
"maxItems":3,
"uniqueItems":true
}
}
}
参考:
1)https://github.com/swagger-api/swagger-codegen/issues/1145
2)https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#relative-schema-file-example