Amazon web services AWS API网关,在响应正文中重写可发现性URL

Amazon web services AWS API网关,在响应正文中重写可发现性URL,amazon-web-services,aws-api-gateway,Amazon Web Services,Aws Api Gateway,在通过API网关外部访问的EC2实例上运行旧的微服务。微服务返回带有可发现性url选项的JSON响应: GET/api/accout/0001 { id: "0001", balance: 1000000, currency: "BTC", _links: [ {name: "close", method: "DELETE", url: "http://10.0.0.1:8080/api/account/0001" },

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

GET/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,因此像“”这样的链接在外部毫无意义


如何配置AWS API网关以在将响应从微服务传递到外部API客户端之前将“”替换为“”?

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

您可以定义具有所需转换的响应模板:

基于此:

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


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

“微服务返回JSON响应,并带有可发现url选项,如“如何返回url?”?那么选项HTTP是否返回所述url?或者它是GET响应体的一部分?@srikanthnutigatu URL是在调用任何方法(包括GET)时返回的响应体的一部分。因此URL是由您的应用程序逻辑构造的?@srikanthnutigatu它们是由我无法控制的遗留微服务构造的