AWS API Gateway,在响应主体中重写可发现性URL

时间:2018-08-06 06:56:28

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

在通过API网关外部访问的EC2实例上运行的旧式微服务。微服务返回带有可发现性url选项的JSON响应:

获取/ api / accout / 0001

  {
     id: "0001",
     balance: 1000000,
     currency: "BTC",
     _links: [
         {name: "close", method: "DELETE", url: "http://10.0.0.1:8080/api/account/0001" },
         {name: "deposit", method: "POST", url: "http://10.0.0.1:8080/api/account/0001/deposit" }
     ]
  }

API网关通过https和自定义域名公开API,因此,像“ http://10.0.0.1:8080/api/account/0001”之类的链接在外部没有任何意义。

在将微服务的响应传递到外部api客户端之前,如何配置AWS API Gateway将“ http://10.0.0.1:8080/api/account/0001”替换为“ https://api.mycompany.com/api/account/0001”?

1 个答案:

答案 0 :(得分:0)

API网关支持响应转换和方法映射功能。

您可以使用所需的转换定义响应模板:

API Gateway Response transformation

基于此:

  

如果需要,添加主体映射模板以转换给定的集成   响应有效载荷转换为指定的方法响应有效载荷。

Specifically Method Models,它使用JSON路径表达式,可用于转换。