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

AWS API Gateway含斜杠的URL参数配置方案咨询

在AWS API Gateway中配置含斜杠的路径参数

问题描述

我需要配置如下格式的URL:/api/v1/doc/{id},其中参数id的值可能为10.10/M11这类包含斜杠的内容。尝试用SAM配置后返回403错误,错误信息如下:

{
    "message": "Missing Authentication Token"
}

解决方案

AWS API Gateway默认会把路径中的斜杠当作路径分隔符,直接用普通路径参数会匹配失败,进而触发认证检查返回403。可以通过以下两种方式解决:

1. 使用通配符路径(贪婪匹配)

修改SAM模板里的API路径为/api/v1/doc/{id+},这里的+表示贪婪匹配,会把斜杠及之后的所有内容都作为id参数的值。示例SAM配置片段:

Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      DefinitionBody:
        swagger: '2.0'
        paths:
          /api/v1/doc/{id+}:
            get:
              x-amazon-apigateway-integration:
                uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${MyFunction.Arn}/invocations
                httpMethod: POST
                type: aws_proxy

2. 开启“允许路径中的斜杠”(仅REST API适用)

如果用的是REST API而非HTTP API,可以在控制台直接设置:

  • 进入API Gateway控制台,找到目标API和对应资源
  • 选中/doc下的{id}资源,进入“资源设置”
  • 勾选“允许路径中的斜杠”选项,保存后重新部署API

关于403错误的说明

你碰到的403错误,本质是API Gateway没匹配到正确路径,触发了默认的认证校验(如果API配置了认证规则)。调整路径配置后,路径匹配成功,就能正常路由到后端服务,该错误会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 03:48:16