You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js Azure函数Axios调用问题:动态传参与响应转发

解决方案

完整修改后的代码

const axios = require("axios");

module.exports = async function (context) {
    // 从请求体提取appUser参数
    const { appUser } = context.req.body;
    if (!appUser) {
        context.res = {
            status: 400,
            body: "缺少必填参数:appUser"
        };
        return;
    }

    const data = { appUser };
    const headers = {
        Authorization: "Basic WUFNkVQRDg9"
    };

    try {
        const response = await axios.post(
            "https://tegossl/GetAppUser?company=Enva",
            data,
            { headers }
        );
        
        // 把第三方服务的响应返回给客户端
        context.res = {
            status: response.status,
            body: response.data,
            headers: {
                "Content-Type": "application/json"
            }
        };
    } catch (err) {
        console.error(err);
        // 处理错误并返回给客户端
        context.res = {
            status: err.response?.status || 500,
            body: err.response?.data || "服务器内部错误"
        };
    }
};

1. 动态获取Postman传入的appUser参数

  • Node.js版Azure Functions的入口函数必须接收context参数,请求相关内容都存在context.req对象里。
  • 直接从context.req.body解构出appUser,替换原硬编码值即可。注意要在Postman里把请求的Content-Type设为application/json,否则无法正确解析请求体。
  • 增加参数校验逻辑,如果请求体里没有appUser,直接返回400错误提示客户端缺少必填参数。

2. 将第三方服务的响应返回给客户端

  • 用async/await替代原有的then/catch写法,逻辑更直观,同时避免回调嵌套问题。
  • 请求成功时,通过context.res设置响应的状态码、内容和头部,把第三方服务返回的内容直接传给客户端。
  • 请求失败时,除了在控制台打印错误日志,还要把错误信息返回给客户端:如果第三方服务返回了错误响应,就用它的状态码和内容;没有的话就返回500通用服务器错误。

内容的提问来源于stack exchange,提问作者Yamen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 03:54:30