在AWS API Gateway中,当我使用模拟集成时,如何从集成请求传递数据到集成响应?

0

【以下的问题经过翻译处理】 你好。我不想使用Lambda函数。我想直接从Integration Request传递数据到Integration Response。我的Integration Request映射模板如下:

{
  "statusCode": 200
}

我想要从中提取statusCode,并在Integration Response中使用它。我正在尝试以下方式:

{
"provided_statusCode": "$input.path('$.statusCode')"
}

我还尝试了input.json('$.statusCode'),但它不起作用。有人可以帮忙吗? 我得到的响应如下:

{
  "provided_statusCode": ""
}
profile picture
EXPERTE
gefragt vor 5 Monaten64 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 在API Gateway中,您需要为每个状态码(200、302、400、500)创建集成响应和方法响应才能呈现它们。

您可以从集成请求中获取所有数据,除了状态码以外,因为API Gatewway会为您管理它。

以下是在使用模拟时,将集成请求中的主体获取到集成响应中的示例:

集成请求
#set($context.requestOverride.path.body = $input.body)
{
  "statusCode": 200,
}

集成响应
#set($body = $context.requestOverride.path.body)
{
  "statusCode": 200,
  "body": $body,
}

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen