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

如何修改Azure Functions(v2)的默认/api基础路径?

嘿,这个问题我之前刚折腾过,Azure Functions v2里修改默认的/api前缀其实很容易,分本地开发和部署到Azure两种场景来操作就行,给你详细说说:

本地开发环境修改

在本地开发时,我们只需要修改local.settings.json文件的配置:

  • 打开项目根目录下的local.settings.json
  • 在Values节点中添加或修改FUNCTIONS_ROUTE_PREFIX配置项,值设为你想要的前缀(比如myapi),如果想完全去掉前缀就设为空字符串""
  • 举个配置示例:
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "FUNCTIONS_ROUTE_PREFIX": "myapi" // 自定义前缀,或设为""去掉前缀
  }
}
  • 修改完成后重启本地的函数宿主服务,新的路由就会生效:比如原来的/api/hello会变成/myapi/hello,如果设为空前缀就直接是/hello
部署到Azure后的修改

部署到云端后,有两种常用的修改方式:

方式一:Azure门户操作

  • 登录Azure门户,打开你的Function App
  • 左侧导航栏找到设置下的配置选项
  • 切换到应用程序设置标签页
  • 点击新建应用程序设置,添加键为FUNCTIONS_ROUTE_PREFIX,值设为你的目标前缀(或空字符串)
  • 点击保存,等待函数应用自动重启后,新的前缀就会生效

方式二:Azure CLI命令行操作

如果你习惯用命令行,可以运行以下命令(记得替换占位符为你的实际资源信息):

# 设置自定义前缀,比如myapi
az functionapp config appsettings set --name <你的函数应用名称> --resource-group <你的资源组名称> --settings FUNCTIONS_ROUTE_PREFIX=myapi

# 完全去掉前缀
az functionapp config appsettings set --name <你的函数应用名称> --resource-group <你的资源组名称> --settings FUNCTIONS_ROUTE_PREFIX=""

另外补充一下:如果是用ARM模板或者Bicep进行自动化部署,也可以在模板的siteConfig.appSettings节点中添加这个配置项,这样部署时就能自动完成前缀设置啦。

需要注意的是,这个配置是全局生效的,所有函数的路由都会套用这个前缀,完全不需要在单个函数的路由模板里修改,和官方文档说的全局统一处理逻辑一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:15:14