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

Azure API Management:如何配置未传版本头时默认初始版本?

解决方案:在Azure APIM中为旧版本API设置版本头默认值

当然可以实现!你遇到的问题是因为给现有API创建新版本后,旧版本的API配置被自动设置为要求版本头,但原有调用方没有传递这个头,导致路由失败。我们可以通过APIM的入站策略来自动补全缺失的版本头,让无版本头的请求默认路由到初始版本。

具体实现步骤:

  1. 登录Azure API Management门户,定位到你的旧版本API(也就是原来兼容无版本头的那个版本)
  2. 切换到「设计」标签页,找到「入站处理」模块,点击打开策略编辑器
  3. 在<inbound>节点内(<base />之后)添加以下策略代码,替换成你实际的版本头名称和初始版本号:
<inbound>
    <base />
    <!-- 自动为缺失版本头的请求添加初始版本值 -->
    <set-header name="你的版本头名称" exists-action="skip">
        <value>@{
            // 获取请求中的版本头值,为空则返回初始版本号
            var versionHeader = context.Request.Headers.GetValueOrDefault("你的版本头名称", "");
            return string.IsNullOrEmpty(versionHeader) ? "v1" : versionHeader;
        }</value>
    </set-header>
</inbound>
  1. 保存策略后,测试不带版本头的请求——此时APIM会自动为请求添加你指定的初始版本头,旧版本API就能正常匹配路由,不会再返回「资源未找到」错误。

补充说明:

如果你的API是通过API版本集管理的,也可以检查版本集的配置:在版本集设置中,确保将旧版本设置为「默认版本」,这样当请求没有指定版本时,APIM会自动路由到这个默认版本。不过上面的策略方式更直接,能快速解决当前的头缺失问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:19:55