API 网关和 Swagger UI

API Gateway and Swagger UI

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

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

当使用 swagger 中的 Try it out 按钮时,如果我返回 200,这将得到完美处理并且结果显示如预期。我正在尝试获取要显示的错误代码,这就是我卡住的地方。

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

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

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

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

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

检查员的结果是正确的-

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

我尝试了很多方法,包括将 object 分配给响应类型,将我的正则表达式更改为 4\d{2} 以捕获任何 400 错误,更新定义生成 -都没有运气。

让我知道是否需要任何其他信息来提供帮助。

我假设您使用的是自定义授权方或 Cognito 授权方,这就是产生 401 的原因?

不幸的是,有一个已知的限制,其中错误方法(例如来自授权方的 401 或 403)将不包含已配置的 header 映射。