API网关和Swagger UI

时间:2016-12-14 22:31:11

标签: amazon-web-services swagger-ui aws-api-gateway swagger-editor

我目前在API网关中有一个包含多个资源的API,我正在开发一个Swagger UI页面。

我自己写的很多swagger ui定义,虽然我知道有导出功能 - 它似乎还没有100%准备好。

当使用来自swagger的Try it out按钮时,如果我返回200,这将得到完美处理,结果显示为预期。我正在尝试显示错误代码,这就是我被困住的地方。

在API网关中,我在Method response中创建了一个401,包括一些允许的标头,我的Integration Response用于HTTP status regex Unauthorized.* - 内容这只是通过。

我的swagger UI定义响应如下所示(特别是401):

"401": {
"description": "Unauthorized",
        "headers": {
            "Access-Control-Allow-Origin": {
            "type": "string"
                   }
        }
},

这只是期待一个字符串响应。我的'生产'有所需的一切,以防万一;

"produces": ["application/json",
            "text/json",
            "application/xml",
            "text/xml"],

检查员的结果是正确的 - enter image description here

然而,我的招摇仍然产生了这个:

enter image description here

我尝试了很多东西,包括将一个对象分配给响应类型,将我的正则表达式转换为4 \ d {2}以捕获任何400错误,更新定义产生 - 所有这些都没有运气。

如果还有其他任何需要帮助的信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

我假设您正在使用自定义授权程序或Cognito授权程序,这就是生成401的内容吗?

不幸的是,存在一个已知的限制,即来自授权者的错误方法(如401或403)将不包含已配置的标头映射。