在API网关中设置查询字符串和标头的名称

问题描述 投票:0回答:1

这是我如何设置堆栈的示例。我只发布了这一点,请放心,堆栈工作正常。

问题我想问一下,我怎么能在网址级别具体queryString名称。现在在AWS控制台(Web UI)上,它显示{orderId}但我希望它显示其他内容。我该怎么修改呢?

此外,它还在AWS UI上为{orderId}框显示HEADERS。我也希望改变它。

OrdersPathResource:
    Type: "AWS::ApiGateway::Resource"
    Properties:
        RestApiId:
            Ref: "XYZApi"
        ParentId: !GetAtt [XYZApi, RootResourceId]
        PathPart: "orders"

OrdersIdPathResource:
    Type: AWS::ApiGateway::Resource
    Properties:
        RestApiId:
            Ref: "XYZApi"
        ParentId:
            Ref: "OrdersPathResource"
        PathPart: "{ordersId}"

StatusPathResource:
    Type: AWS::ApiGateway::Resource
    Properties:
        RestApiId:
            Ref: "XYZApi"
        ParentId:
            Ref: "OrdersIdPathResource"
        PathPart: "status"

GetOrdersShipmentStatusMethod:
    Type: "AWS::ApiGateway::Method"
    Properties:
        ApiKeyRequired: true
        AuthorizationType: "AWS_IAM"
        HttpMethod: "GET"
        ResourceId:
            Ref: "StatusPathResource"
        RestApiId:
            Ref: "XYZApi"
        Integration:
            Type: "AWS_PROXY"
            IntegrationHttpMethod: "POST"
            Uri: !Join ["", ["arn:aws:apigateway:", !Ref "AWS::Region", ":lambda:path/2015-03-31/functions/",!GetAtt GetOrdersShipmentStatusLambdaFunction.Arn, "/invocations"]]
amazon-web-services aws-api-gateway amazon-cloudformation
1个回答
0
投票

从您的CloudFormation模板片段中,您使用的是Lambda Proxy集成,因此API Gateway不允许您为集成设置参数映射。但是如果你想在方法方面拥有请求参数,你可以将你的方法更改为,

    GetOrdersShipmentStatusMethod:
    Type: "AWS::ApiGateway::Method"
    Properties:
        ApiKeyRequired: true
        AuthorizationType: "AWS_IAM"
        HttpMethod: "GET"
        ResourceId:
            Ref: "StatusPathResource"
        RestApiId:
            Ref: "XYZApi"
        RequestParameters:
            method.request.header.headerName: false
            method.request.querystring.querystringName: false
        Integration:
            Type: "AWS_PROXY"
            IntegrationHttpMethod: "POST"
            Uri: !Join ["", ["arn:aws:apigateway:", !Ref "AWS::Region", ":lambda:path/2015-03-31/functions/",!GetAtt GetOrdersShipmentStatusLambdaFunction.Arn, "/invocations"]]
© www.soinside.com 2019 - 2024. All rights reserved.