【发布时间】:2019-06-19 10:04:09
【问题描述】:
我正在尝试将一个正常工作的 Lumen API 服务转换为 AWS,但我很难让外部 REST API 服务工作。该服务返回压缩的数据,但这一事实并未正确地传递回浏览器中的应用程序 (Vue)。我尝试在响应中添加标题,如下所示,但它仍然无法正常工作。我可以在浏览器控制台的响应中看到标题,但浏览器仍然没有解释它,所以数据看起来仍然像垃圾。关于如何进行这项工作的任何线索?
var req = require('request');
exports.handler = function (event, context, callback) {
const params = {
url: 'http://api.service',
headers: { 'Authorization': 'code',
'Accept-Encoding': 'gzip,deflate',
'Content-Type': 'application/json' },
json: {'criteria': {
'checkInDate': '2019-10-22',
'checkOutDate': '2019-10-25',
'additional': {'minimumStarRating': 0},
'cityId': 11774}}
};
req.post(params, function(err, res, body) {
if(err){
callback(err, null);
} else{
callback(null, {
"statusCode": 200,
"headers": {
"Content-Type": "application/json",
"Content-Encoding": "gzip"
},
"body": body
});
}
});
};
【问题讨论】:
-
你检查过这些答案吗? stackoverflow.com/questions/39453097/…
-
是的,但我的情况略有不同,因为我不是试图让网关来压缩数据。它已经从 Lambda 调用的 API 压缩而来。似乎 Lambda 实际上并未设置为处理获取压缩数据,因此它与 API 网关之间的接口没有处理它的工具。
标签: amazon-web-services aws-lambda aws-api-gateway