0

我目前在我们的API网关中有多个资源的API,我正在为同样的Swagger UI页面工作。API网关和Swagger用户界面

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

当使用从swagger的Try it out按钮,如果我回到200,这是完美处理,结果如预期显示。我想要显示错误代码,这是我卡住的地方。

在API网关我创造我Method response,包括一些允许头401,这是被我Integration Response用于HTTP status regexUnauthorized.*的 - 这一内容只是被通过。

我招摇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错误,更新定义产生 - 所有没有运气。

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

回答

0

我假设你正在使用自定义授权人或Cognito授权人,这是什么产生401?

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

+0

其他错误或响应怎么样(即500/429等)除了200,没有其他响应产生(我只知道他们通过检查页面网络发生) – Hexie

+0

* API网关产生的错误(例如500或429)将表现出相同的行为。 –

+0

所以基本上你这样说,除非200 - 我不会得到任何其他回应这种情况? – Hexie