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

Azure Function API端点多参数路由配置问题求助

解决方案

1. 更新function.json的路由配置

把HTTP触发器的route字段从固定的symbolcountry/{id}改成参数化的{endpoint}/{id},让函数能从URL中捕获endpoint和id两个参数。修改后的完整配置如下:

{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get"
      ],      
      "route": "{endpoint}/{id}"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ]
}

2. 修改index.js的业务逻辑

原来的代码里entity是硬编码的symbolcountry,现在需要从请求参数req.params.endpoint中获取这个值,同时保留原有的id参数处理逻辑。修改后的代码如下:

module.exports = function (context, req) {    
    const method = req.method.toLowerCase();
    var payload = null;
    var entity = "";

    switch(method) {
        case "get":
            if (req.params.id && req.params.endpoint) {                
                // 从URL参数中读取endpoint值
                entity = req.params.endpoint                                      
                payload = { "SymbolID": req.params.id};  
            } 
            else {                
                entity = "symbols"                
            }
            break;    
    }

    // 请保留你原本返回JSON的逻辑,示例参考:
    // context.res = {
    //     body: { entity: entity, data: payload }
    // };
    context.done();
}

补充说明

  • 修改后API可接收类似https://myurl.com/api/xxx/123的请求,其中xxx会被解析为endpoint参数,123为id参数。
  • 代码新增了req.params.endpoint的判断,确保两个参数都存在时才使用参数化的entity,否则 fallback 到原有的symbols逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:50:30