Azure Function v4集成Express.js异常:无法返回Express接口响应
解决Azure Functions v4调用Express API的问题
你的问题出在当前的HTTP触发器handler直接返回了Hello,并没有使用azureFunctionHandler转接请求到Express应用。按照以下方式修改index.ts即可:
修改后的index.ts
import { app } from "@azure/functions"; import azureFunctionHandler from "azure-aws-serverless-express"; import expressApp from "../../app"; // 初始化Express应用的处理函数 const expressHandler = azureFunctionHandler(expressApp); app.http("httpTrigger1", { methods: ["GET", "POST", "PUT", "DELETE"], // 根据业务需求补充支持的HTTP方法 route: "api/{*segments}", handler: async (context, request) => { // 将请求转交给Express处理逻辑 return expressHandler(context, request); }, });
关键修改说明
- 先将
azureFunctionHandler(expressApp)的返回值赋值给expressHandler,封装好Express应用的处理逻辑 - 移除触发器handler里直接返回
Hello的代码,改为调用expressHandler并返回其处理结果 - 补全支持的HTTP方法,确保Express中定义的各类路由能被正确触发
验证方法
部署修改后的代码后,访问/api/user路径,即可收到Express返回的Hello from Express!。
内容的提问来源于stack exchange,提问作者Murugesan R
相关产品推荐
相关产品推荐

