OpenAPI API 网关与 Lambda 函数结合使用时,通常通过 HTTP 响应来传递错误信息。Lambda 函数执行失败时,API 网关会捕获这个错误并返回一个包含错误码和错误信息的 JSON 响应。
当 Lambda 函数执行失败时,API 网关会返回一个类似以下的 JSON 响应:
{
"statusCode": 500,
"body": "{\"errorType\":\"Error\",\"errorMessage\":\"Something went wrong\"}"
}
要正确解析出错误码,您可以在客户端代码中执行以下步骤:
statusCode
字段。以下是一个使用 JavaScript 解析错误码的示例:
fetch('https://your-api-gateway-url')
.then(response => {
const statusCode = response.status;
const errorBody = response.text().then(text => JSON.parse(text));
if (statusCode >= 400) {
return errorBody.then(error => {
throw new Error(`${statusCode}: ${error.errorMessage}`);
});
}
// 处理正常的响应逻辑
})
.catch(error => {
console.error('API 请求出错:', error.message);
});
请注意,虽然示例代码中使用了 AWS 的术语,但类似的逻辑也适用于其他云服务提供商的 API 网关和 Lambda 类服务。如果您在使用腾讯云的相关服务,建议参考腾讯云的官方文档和示例代码。
云+社区技术沙龙[第14期]
云+社区技术沙龙[第4期]
第四期Techo TVP开发者峰会
云+社区技术沙龙[第22期]
云+社区技术沙龙[第8期]
腾讯云GAME-TECH沙龙
云+社区技术沙龙[第15期]
云+社区技术沙龙[第24期]
领取专属 10元无门槛券
手把手带您无忧上云