当前位置: 首页 > 知识库问答 >
问题:

将formData从swagger json导入到AWS API网关时出错

翟兴邦
2023-03-14

我正在使用flask-restx构建一个带有swagger UI的应用程序,并试图将这个swagger文件作为文档部分上传到AWS API Gateway中。通过这个大摇大摆的UI,我允许用户上传CSV文件进行进一步的数据处理。

我有以下swaggerJSON:

{
    "swagger": "2.0",
    "basePath": "/",
    "paths": {
        "/upload_profile/csv": {
            "post": {
                "responses": {
                    "200": {
                        "description": "Profile uploaded"
                    },
                    "400": {
                        "description": "Validation Error"
                    },
                    "401": {
                        "description": "Not authorized"
                    }
                },
                "operationId": "Get uploaded profiles from user",
                "parameters": [
                    {
                        "name": "csv_file",
                        "in": "formData",
                        "type": "file",
                        "required": true,
                        "description": "CSV file"
                    }
                ],
                "consumes": [
                    "multipart/form-data"
                ],
                "tags": [
                    "upload_profile"
                ]
            }
        }
    },
    "info": {
        "title": "Upload Profile",
        "version": "0.0.1"
    },
    "produces": [
        "application/json"
    ],
    "consumes": [
        "application/json"
    ],
    "tags": [
        {
            "name": "upload_profile",
            "description": "Uploading User Profiles"
        }
    ],
    "responses": {
        "ParseError": {
            "description": "When a mask can't be parsed"
        },
        "MaskError": {
            "description": "When any error occurs on mask"
        }
    }
}

当我转到API Gateway-->Documentation-->导入文档并粘贴json时,会出现以下错误:

如何解决以下问题?如果API Gateway不支持FormData,是否有其他方法来托管swagger UI?

共有1个答案

龙承德
2023-03-14

问题是AWS API Gateway需要Swagger/OpenAPI版本3,而您的文件是版本2。如果您只想为文档/协作目的托管swagger UI,请查看SwaggerHub https://swagger.io/tools/SwaggerHub/。

但是,如果您真的必须使用AWS API网关,那么您需要获得OpenAPI-3格式的规范。由于API相当小,我建议自己准备OpenAPI-3规范(而不是生成它),并通过swagger UI在本地测试它。

 类似资料:
  • 我们正在尝试从C#Windows服务调用AWS API网关来执行后台作业。哪个应该触发API网关定期初始化请求? 我们使用RestSharp调用APIendpoint,该类称为AwsAuthenticator,它继承自RestSharp.Authenticators.IAAuthenticator。但当我们调用API Gateway时,收到的错误是“我们计算的请求签名与您提供的签名不匹配。请检查您

  • 我正试图将数据从Excel导入到SQL Server表中,但遇到了这个错误。你能建议如何避免这些吗?

  • 当我调用导出器url时:https:///restapis//stages//exports/swagger根据中记录的http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-export-api.html 我得到这个错误: 无法构建导出器:错误创建在类路径资源[com/amazonaws/背景板/控制服务/配

  • 我已经安装了SDK构建工具19.1从SDK管理器,但它仍然给出了这个错误,而将Eclipse项目导入Android Studio。 错误:原因:未能找到哈希字符串为“android-19”的目标

  • 当我将从开源网站(如Apache,Github)下载的导入时,发生了几个错误:(.注意,所有Maven项目都可以在Eclipse下正确编译和测试。 首先,在将maven项目导入到Eclipse之后,项目图标上将出现,但是项目中没有错误。我发现在文件中存在节点。我删除了节点,然后错误就消失了,我想知道为什么,因为maven项目中没有模块。下面的代码是我之前删除的节点。

  • 我是AVRO的新手,我正在尝试将AVRO格式的数据从SQL Server导入到HDFS。