要解决AWS API Gateway首先返回带有响应的200,但后来返回不带响应的200的问题,可以采取以下步骤:
import json
def lambda_handler(event, context):
# 处理请求逻辑
response = {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
return response
例如,如果Lambda函数返回的响应是JSON格式的,可以在集成响应配置中添加以下内容:
#set($inputRoot = $input.path('$'))
{
"statusCode": $inputRoot.statusCode,
"body": $inputRoot.body
}
这样可以确保API Gateway正确地将Lambda函数的响应包装在带有状态码和响应体的200响应中。
确保API Gateway的方法响应配置正确设置了集成响应。在API Gateway控制台中的方法响应配置中,检查是否有正确的集成响应配置,并且200响应的映射模板设置正确。
如果以上步骤都正确配置,但问题仍然存在,可以尝试重新部署API Gateway,并确保更新已部署的API。在API Gateway控制台中,选择您的API并点击“部署”按钮,然后选择一个阶段重新部署API。
通过执行上述步骤,您应该能够解决AWS API Gateway首先返回带有响应的200,但后来返回不带响应的200的问题。