私はプロキシサーバーのaws apigatewayラムダ統合を作成しました。私がゲートウェイに要求を出すとき、要求は成功裏に通過しています。ラムダ関数は正常に実行されると200とからstatusCodeで出力ストリームに応答を書き込みます。しかしapigateway常に502aws 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));
私が何か足りませんか?
出力ストリーム[ { "ヘッダ":{ "キープアライブ": ""、 "転送エンコード": "チャンク"、 "サーバ": "アパッチ"、 は "ヴァリ": " "アプリケーション/ JSON;のcharset = UTF-8" }、 "本体": ": ""、 "コンテンツタイプ" " " 日付エンコーディングを受け入れる{ "メタデータ":{}、 " http_code ":200、 " data ":{ " size ":1、 " list_item_type ":" message "、 " type ":" messages "、 " items ":[ ] }、 "メッセージ": ""、 "ステータス": "成功" }、 "からstatusCode":200 }] –
@kunalshrivastava本体は文字列であると予想されます。 JSONを返す場合は、それをエスケープする必要があります。 –