Шлюз AWS lambda api с node.js экспресс возвращает ошибку «net::ERR_CONTENT_DECODING_FAILED 200».

#node.js #amazon-web-services #express #aws-lambda #aws-api-gateway

#node.js #amazon-web-services #экспресс #aws-lambda #aws-api-gateway

Вопрос:

Ошибка возникает, когда мой клиент отправляет запрос GET на node.js сервер, размещенный с помощью AWS lambda api gateway. Ожидается, что сервер отправит обратно массив объектов с помощью res.json({}). Странная часть заключается в том, что когда я тестирую с помощью ответа объекта или массива объектов с меньшими переменными в нем, это работает. Я также пытался использовать JSON.stringify() для массива на стороне сервера и JSON.parse() на клиенте, но безрезультатно. Заранее благодарю всех, кто помогает мне и помогает мне, так как это моя первая публикация в StackOverflow.

Редактировать: Однако я попробовал это с помощью команды curl для конечной точки, и она возвращает массив json без каких-либо ошибок.

Ответ №1:

Хорошо, все, я нашел, какая часть моего кода вызвала ошибку!

 app.use(busboy());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(busboyBodyParser());
  

Поскольку я раньше играл с передачей файлов с помощью пакета npm ‘Busboy’, импортировал и использовал некоторые связанные с ним пакеты. Однако я забыл прокомментировать эти коды и, таким образом, я считаю, что это испортило тело ответа и привело к ошибке. Просто чтобы было ясно, что это было в node.js серверная часть.