在 Swagger 中,如何将参数定义为多维数组?
In Swagger, how do I define a parameter as a multidimensional array?
在 Swagger 中,我可以创建一个参数,它是任何类型的数组,如下所示:
"MyType" : {
"description" : "my example object type",
"type" : "object",
"properties" : {
"id" : {
"description" : "identifier",
"type" : "number"
},
"data" : {
"description" : "data container",
"type" : "array",
"items" : {
"type" : "string"
}
}
}
}
它定义了一个可能如下所示的对象:
{
"id" : 1,
"data" : ["a", "b", "c"]
}
但我需要做的是定义一个可能如下所示的对象:
{
"id" : 1,
"data" : [
[0, 1, 2],
["a", "b"],
[true, "foo", 99, false]
]
}
data 属性 需要是一个多维数组,理想情况下它可以包含任意数量的 "rows",每个包含任意数量的列每个字段中的任何类型的数据。我什至满足于允许 data 只是一个数组的模式,但我不知道如何让它工作。
您需要做的就是将 items
架构的 type
更改为 array
。以下架构表示 "data" 是一个数组,其项是数组。内部数组没有限制。
"data" : {
"description" : "data container",
"type" : "array",
"items" : {
"type" : "array",
"items": {}
}
}
在 Swagger 中,我可以创建一个参数,它是任何类型的数组,如下所示:
"MyType" : {
"description" : "my example object type",
"type" : "object",
"properties" : {
"id" : {
"description" : "identifier",
"type" : "number"
},
"data" : {
"description" : "data container",
"type" : "array",
"items" : {
"type" : "string"
}
}
}
}
它定义了一个可能如下所示的对象:
{
"id" : 1,
"data" : ["a", "b", "c"]
}
但我需要做的是定义一个可能如下所示的对象:
{
"id" : 1,
"data" : [
[0, 1, 2],
["a", "b"],
[true, "foo", 99, false]
]
}
data 属性 需要是一个多维数组,理想情况下它可以包含任意数量的 "rows",每个包含任意数量的列每个字段中的任何类型的数据。我什至满足于允许 data 只是一个数组的模式,但我不知道如何让它工作。
您需要做的就是将 items
架构的 type
更改为 array
。以下架构表示 "data" 是一个数组,其项是数组。内部数组没有限制。
"data" : {
"description" : "data container",
"type" : "array",
"items" : {
"type" : "array",
"items": {}
}
}