如何使用AWS API Gateway从URL剥离参数?

时间:2019-04-27 12:42:21

标签: amazon-web-services aws-lambda aws-api-gateway

我用/redirect创建了GET方法,我想像这样将带有参数的URL传递给它:

/redirect/https://example.com?param=1

然后,剥离参数并通过重定向响应:

https://example.com

这是一种非常不寻常的情况,因为我看到大多数API请求都依赖URL参数,而我打算相反。如果使用Mock或Lambda,我会感到矛盾。

有人可以指出我正确的方向吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

我认为您可能希望将URL作为querystring参数而不是path参数传递。我认为它看起来像这样:

GET /redirect?uri=https://example.com?param=1

exports.handler = async (event, context) => {
  const Location = decodeURIComponent(event.queryStringParameters.uri);
  return {
    statusCode: 302,
    headers: { Location },
  }
};

这应该返回带有重定向位置的302 Found响应,这将导致浏览器重定向。