Шаблон SAM IntegrationResponse

Вопросы:

  • IntegrationResponse to Sam template ? Возможно ли без OpenApi?
  • Как добавить заголовки в GatewayResponses в шаблоне SAM?

Чего я пытаюсь достичь:

  • Определите ответы шлюза и ответы интеграции в шаблоне SAM CloudFront.

Что я проверил до сих пор:

Я проверял SAM github, но для меня было непонятно, как это сделать, основываясь на приведенной выше ссылке. Также я не нашел ответа на stackoverflow, который объяснил бы, почему заголовки плохие в моем фрагменте ответа шлюза.

Каждая помощь приветствуется

Некоторые примеры:

Globals:
  Api:
    GatewayResponses:
      MISSING_AUTHENTICATION_TOKEN:
        ResponseParameters:
        #  gatewayresponse.header.Cache-Control: "no-cache"
        ResponseTemplates: 
          "application/json" : '{"errors": [{errorKey: "error Value"}]}'
        StatusCode: '404'
        #defaultResponse: true

Ожидаемая интеграция на функциональном уровнеОтвет:

  Function:
    Type: AWS::Serverless::Function
    Properties:
      Handler: Function.handler
      Timeout: 20
      CodeUri: "src/Function"
      Role: .......
      Events:
        FunctionGet:
          Type: Api
          Properties:
            Path: /Function
            Method: get
            IntegrationResponse:
              SOME_ERROR_CODE
                ResponseTemplates
                  integrationresponse.header

person Szilágyi István    schedule 03.01.2020    source источник


Ответы (1)


Короче говоря, половина моего вопроса глупа. в API интеграции прокси-сервера GW по умолчанию возвращает ответ от сервера клиенту, не требуя дополнительной декларации в шаблоне SAM.

Что касается заголовков, то правильный способ:

Globals:
  Api:
    GatewayResponses:
      MISSING_AUTHENTICATION_TOKEN:
        ResponseParameters:
          Headers:
            Access-Control-Allow-Origin: "'*'"
            Access-Control-Allow-Headers: "'*'"
            Cache-Control: "'no-cache'"
            Content-Type: "'application/json'"
        ResponseTemplates: 
           "application/json" : '{"errors": [{errorKey: "error Value"}]}'
        StatusCode: '404'
        #defaultResponse: true
person Szilágyi István    schedule 07.01.2020