Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
321 views
in Technique[技术] by (71.8m points)

amazon web services - API documentation for API Gateway with Lambda proxy integration

I defined a SAM app with few Lambdas behind an API Gateway"

  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: !Ref EnvType
      Auth:
        DefaultAuthorizer: LambdaTokenAuthorizer
        Authorizers:
          LambdaTokenAuthorizer:
            FunctionArn: !GetAtt AuthorizerLambda.Arn
  MyFunction:
    Type: 'AWS::Serverless::Function'
...
      Events:
        MyEvent:
          Type: Api
          Properties:
            RestApiId: !Ref MyApi
            Path: "/MyResource/{proxy+}"
            Method: post

Obviously, API Gateway does not know much about the proxied resource such as:

  • proxied path(s)
  • request model
  • response model

Documentation generated from API Gateway stage reflects this:

swagger: "2.0"
info:
  version: "1.0"
  title: "xxx-dev"
host: "xxx.execute-api.us-west-2.amazonaws.com"
basePath: "/dev"
schemes:
- "https"
paths:
  /MyResource/{proxy+}:
    post:
      responses: {}
      security:
      - LambdaTokenAuthorizer: []
securityDefinitions:
  LambdaTokenAuthorizer:
    type: "apiKey"
    name: "Authorization"
    in: "header"
    x-amazon-apigateway-authtype: "custom"

Is there a way to feed API Gateway with missing bits (proxied paths, response models, request models)? Ultimately i need a document that is good enough to generate the client code / allow some integration testing. Similar question here -> Aws lambda proxy Swagger template integration


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...