HTTP API 网关尾部斜杠

Ale*_*sov 5 amazon-web-services api-gateway

我有一个 HTTP API 网关,它有一个自定义域,其中包含类似映射和一条触发 Lambda 的https://api.example.com/myapi路由。POST /

问题是https://api.example.com/myapi抛出{"message": "Not Found"}并且它仅适用于尾部斜杠https://api.example.com/myapi/

我怎样才能使它在有斜线和没有斜线的情况下都可以工作,或者在最坏的情况下只在没有斜线的情况下工作?

以下是CloudFormation供参考:

{
    "Resources": {
        "Webhoook6917ABA8": {
            "Type": "AWS::Lambda::Function",
            "Properties": {...}
        },
        "DomainNameEC95A6E9": {
            "Type": "AWS::ApiGatewayV2::DomainName",
            "Properties": {
                "DomainName": "api.example.com",
                "DomainNameConfigurations": [
                    {
                        "CertificateArn": "arn:***",
                        "EndpointType": "REGIONAL"
                    }
                ]
            }
        },
        "ApiA2E3A7D3": {
            "Type": "AWS::ApiGatewayV2::Api",
            "Properties": {
                "Name": "Api",
                "ProtocolType": "HTTP"
            }
        },
        "ApiDefaultStageE05BC5D1": {
            "Type": "AWS::ApiGatewayV2::Stage",
            "Properties": {
                "ApiId": {
                    "Ref": "ApiA2E3A7D3"
                },
                "StageName": "$default",
                "AutoDeploy": true
            },
            "DependsOn": [
                "DomainNameEC95A6E9"
            ]
        },
        "ApiDefaultStageDomainName710CA621": {
            "Type": "AWS::ApiGatewayV2::ApiMapping",
            "Properties": {
                "ApiId": {
                    "Ref": "ApiA2E3A7D3"
                },
                "DomainName": {
                    "Ref": "DomainNameEC95A6E9"
                },
                "Stage": "$default",
                "ApiMappingKey": "myapi"
            },
            "DependsOn": [
                "DomainNameEC95A6E9",
                "ApiDefaultStageE05BC5D1"
            ]
        },
        "ApiPOSTHttpIntegrationcc27d9637eb8fbf5d8b41e5d3f4f4743D2E9B97B": {
            "Type": "AWS::ApiGatewayV2::Integration",
            "Properties": {
                "ApiId": {
                    "Ref": "ApiA2E3A7D3"
                },
                "IntegrationType": "AWS_PROXY",
                "IntegrationUri": {
                    "Fn::GetAtt": [
                        "Webhoook6917ABA8",
                        "Arn"
                    ]
                },
                "PayloadFormatVersion": "2.0"
            }
        },
        "ApiPOSTE756F840": {
            "Type": "AWS::ApiGatewayV2::Route",
            "Properties": {
                "ApiId": {
                    "Ref": "ApiA2E3A7D3"
                },
                "RouteKey": "POST /",
                "AuthorizationType": "NONE",
                "Target": {
                    "Fn::Join": [
                        "",
                        [
                            "integrations/",
                            {
                                "Ref": "ApiPOSTHttpIntegrationcc27d9637eb8fbf5d8b41e5d3f4f4743D2E9B97B"
                            }
                        ]
                    ]
                }
            }
        }
    }
}

Run Code Online (Sandbox Code Playgroud)