Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Azure API管理中单个阵列的多个阵列定义_Arrays_Azure_Asp.net Core_Swagger_Azure Api Management - Fatal编程技术网

Arrays Azure API管理中单个阵列的多个阵列定义

Arrays Azure API管理中单个阵列的多个阵列定义,arrays,azure,asp.net-core,swagger,azure-api-management,Arrays,Azure,Asp.net Core,Swagger,Azure Api Management,我创建了一个返回数组的项目。看看swagger.json,导入这个swagger.json,一切看起来都很好。但是,当我从开发者门户下载API定义时,我看到了一些对象,如…Array,…Array-1,…Array-2。我不期望: 我怎样才能防止这种情况?如何确保生成行为与我的普通对象相同(因此没有虚线,而是点)。我创建了一个复制我的问题的示例项目: 这是否与此处描述的Azure API管理中的更改有关 APIM不支持内联架构。尝试仅通过$ref为响应/请求指定模式,即使它是您已经定义的对象数

我创建了一个返回数组的项目。看看swagger.json,导入这个swagger.json,一切看起来都很好。但是,当我从开发者门户下载API定义时,我看到了一些对象,如…Array,…Array-1,…Array-2。我不期望:

我怎样才能防止这种情况?如何确保生成行为与我的普通对象相同(因此没有虚线,而是点)。我创建了一个复制我的问题的示例项目:


这是否与此处描述的Azure API管理中的更改有关

APIM不支持内联架构。尝试仅通过$ref为响应/请求指定模式,即使它是您已经定义的对象数组-定义一个类型为array的新对象并引用它

因此,与此不同的是:

"200": {
    "description": "Success",
    "schema": {
        "uniqueItems": false,
        "type": "array",
        "items": {
            "$ref": "#/definitions/SwaggerGenerationSample.Models.Response.Employee"
        }
    }
}
在定义中定义并引用数组本身:

"200": {
    "description": "Success",
    "schema": {
        "$ref": "#/definitions/EmployeeArray"
    }
}
...
"definitions": {
    "EmployeeArray": {
        "uniqueItems": false,
        "type": "array",
        "items": {
            "$ref": "#/definitions/SwaggerGenerationSample.Models.Response.Employee"
        }
    }
}

谢谢你的回答。当前,我们的架构如下所示:。你指的就是这个吗?你有一个例子吗?更新的响应在APIM中导入它使它工作。我们正在使用Swashback从asp.net核心中的模型生成swagger.json。我怎样才能把它和虚张声势结合起来呢?不幸的是,我不太确定。