使用响应 302 从 aws api 网关重定向

标签 redirect aws-api-gateway

我正在尝试使重定向在 AWS API 网关中工作。我将方法响应配置为在 header 和集成响应中包含 Location,我将参数设置为:Location = integration.response.body.location。但是,当我测试 API 时,它并没有将我重定向到该位置,而是在 API 页面上向我显示该位置的文本。有没有人遇到过这个?

显示的字符串实际上是正确的位置,但 API 不会将我重定向到该 URL。

最佳答案

可以在不使用 AWS Lambda 的情况下使用 API Gateway 重定向到硬编码的 URL。这是关于如何实现的导出的 OpenAPI 3.0 定义:

openapi: "3.0.0"
info:
  title: 'TheApiName'
  version: ''
paths:
  "/":
    get:
      responses:
        "302":
          description: "302 response"
          headers:
            Location:
              schema:
                type: "string"
          content: {}
      x-amazon-apigateway-integration:
        responses:
          default:
            statusCode: "302"
            responseParameters:
              method.response.header.Location: "'https://github.com/lukedemi/adventbot'"
        requestTemplates:
          application/json: "{\"statusCode\": 200}"
        passthroughBehavior: "when_no_match"
        type: "mock"

请注意,当您导入此 API 模板时,您仍然需要“部署”它,这样做时您需要创建一个“阶段”,然后将 API:Stage 与自定义域相关联(首次创建时需要 ACM 证书) API 网关中的自定义域),然后您只能将此单个 API 部署到域,因为您需要使用一个空的基本路径(解析为 /)并且该映射不允许任何其他 /anything由于 API Gateway 的工作方式而导致路由。

关于使用响应 302 从 aws api 网关重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38009315/

相关文章:

amazon-web-services - 向发布到 CloudWatch 的 API Gateway 日志添加保留策略

amazon-web-services - APIGateway 在使用 POSTMan 调用时不执行请求验证

asp.net-mvc - 如何重定向到同一 Controller 中的另一个 Action ?

根据请求的来源将反向代理重定向到 SSL

r - 如何使 Shiny 立即重定向?

python - 如何在 AWS API Gateway 中正确映射我的响应

amazon-web-services - AWS API 网关 : Documentation Swagger export model type null ignored

redirect - 谷歌分析 OAuth2 : How to solve error: "redirect_uri_mismatch"?

apache - 仅当在 RewriteMap 中找到模式时才需要 mod_rewrite 进行重定向

node.js - 如何从 Node 正确调用aws api网关