我正在使用aws lambda代理集成。
如果成功表示200个响应,而错误表示500个错误是正确的,那么我会响应API。
{
try:
return {
"statusCode": str(200),
"body": json.dumps("Hello"),
"headers": headers,
}
except Exception as e:
return {
"statusCode": str(500),
"body": json.dumps("Error"),
"headers": headers,
}
}
但是当我尝试从邮差错误响应中的lambda内部的另一个方法返回异常时,却出现了statuscode 200响应。下面是代码。
def getMethod(val):
try:
a= val
return {
"statusCode": str(200),
"body": json.dumps("Success"),
"headers": headers,
}
except Exception as e:
return {
"statusCode": str(500),
"body": json.dumps("Error in getMethod"),
"headers": headers,
}
handler request(event,context):
try:
response = getMethod(
return {
"statusCode": str(200),
"body": json.dumps(response),
"headers": headers,
}
except Exception as e:
return {
"statusCode": str(500),
"body": json.dumps("Error"),
"headers": headers,
}
答案 0 :(得分:0)
对不起,我不理解您的代码。您已经使用返回值调用了“ getMethod”:
返回{ “ statusCode”:str(200), “正文”:json.dumps(response), “标题”:标题, }
其中已指定“响应”,它是getMethod的返回值。您最有可能收到200响应,因为getMethod评估返回的是try部分而不是except部分。