如何在Azure Functions v4中读取HTTP触发器的HTTP状态码
在Azure Functions v4中读取HTTP触发器的状态码
Azure Functions v4的Node.js运行时调整了响应处理逻辑,不再像v3那样通过context.res直接暴露状态码,以下是可行的解决方式:
方式1:提前维护状态变量
既然你通过return { status: 200 };设置状态,最直接的方式是提前定义状态变量,既用于设置响应,也用于读取打印:
// 定义状态码变量 const statusCode = 200; // 读取并打印状态码 context.log(`HTTP Status Code: ${statusCode}`); // 返回响应 return { status: statusCode, body: "请求处理完成" };
方式2:通过响应对象读取
如果需要在创建响应后读取状态,可以先构建响应对象,再访问其status属性:
const httpResponse = { status: 400, body: "参数错误" }; // 读取状态码 context.log(`HTTP Status Code: ${httpResponse.status}`); // 返回响应 return httpResponse;
需要注意的是,v4的context对象中确实没有保留v3里的context.res属性,官方推荐通过返回响应对象的方式管理HTTP响应的所有属性,包括状态码。
内容的提问来源于stack exchange,提问作者ReoDude
相关产品推荐
相关产品推荐

