我已经为我的代理服务器创建了 aws apigateway lambda 集成。当我向网关发出 get 请求时,请求已成功通过。 lambda 函数也成功执行,并在输出流中写入响应,statusCode 为 200。但 apigateway 始终返回 502。
handleRequest() 的片段:
BufferedReader reader = new BufferedReader(new
InputStreamReader(inputStream));
JSONObject event = (JSONObject) parser.parse(reader);
request = Input.builder().setEvent(event).build();
Response response = requestManager.handleRequest(request);
logger.log(String.format("Response [%s]", response.toString()));
JSONObject responseJson = new JSONObject();
responseJson.put("statusCode", response.getStatusCode());
responseJson.put("headers", response.getHeaders());
JSONObject jsonBody = (JSONObject) parser.parse(response.getBody());
responseJson.put("body", jsonBody);
OutputStreamWriter writer = new OutputStreamWriter(outputStream, "UTF-8");
logger.log("response recieved");
logger.log(String.format("responseJson [%s]", responseJson));
writer.write(responseJson.toJSONString());
writer.close();
logger.log(String.format("output stream [%s]", outputStream));
我错过了什么吗?
Lambda 的 502 错误通常表明您正在使用 Lambda 代理方法并且未生成正确的 JSON 响应。确保您的回复符合适当的格式 http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html.
如果您仍然遇到问题,请分享由您的 Lambda 函数生成的示例 JSON。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)