Почему я получаю пустое тело в ответ на HTTP-запрос Noe. js - PullRequest
0 голосов
/ 10 июля 2020

поэтому я пытаюсь отправить http-запрос на сервер, и в качестве ответа я должен получить тело, в котором находится вся необходимая мне информация. Когда я затем пытаюсь .parse JSON () тело, я получаю исключение говоря мне, что мое тело пусто. Тело не может быть действительно пустым, поэтому в коде должна быть ошибка. Я не могу дать вам весь код из-за паролей и тому подобного. Код:

public addVehicle(): Promise<void>{
    return new Promise<void>((resolve, reject) => {
        const options = {
            url: [URL],
            method: "POST",
        
            headers: {
                'Content-Type': 'application/json',
                'Authorization': [user/psw],
                'token': [authToken]
            },
            body: JSON.stringify({
                'vehicleID': vehicleID,
                'externalID': externalID,
                'brandID': vehicleBrandId,
                'modelGroupID': vehicleModelId,
                'typeName': typeName,
                'segmentationID': vehicleSegmentationId,
                'categoryID': vehicleCategoryId,
                'fuelTypeID': vehicleFuelTypeId,
                'transmissionTypeID': vehicleTransmissionTypeId,
                'propulsionTypeID': vehiclePropulsionTypeId,
                'registerationDate': registerationDate,
                'powerKW': powerKW,
                'description': description
            })
            
            
            
          }

          let req = request.post(options, (err, res, body) => {
           let rawAuth = JSON.parse(body);
            console.log(body);

                resolve();
                
            })
    })
}

1 Ответ

0 голосов
/ 10 июля 2020

Попробуйте удалить JSON.stringify(). Я предполагаю, что получающий API ожидает поля в теле. Отправка данных в виде строки скроет поля от получающего API. Он просто увидит один строковый объект (не уверен, какой будет ключ).

const options = {
            url: [URL],
            method: "POST",
        
            headers: {
                'Content-Type': 'application/json',
                'Authorization': [user/psw],
                'token': [authToken]
            },
            body: {
                'vehicleID': vehicleID,
                'externalID': externalID,
                'brandID': vehicleBrandId,
                'modelGroupID': vehicleModelId,
                'typeName': typeName,
                'segmentationID': vehicleSegmentationId,
                'categoryID': vehicleCategoryId,
                'fuelTypeID': vehicleFuelTypeId,
                'transmissionTypeID': vehicleTransmissionTypeId,
                'propulsionTypeID': vehiclePropulsionTypeId,
                'registerationDate': registerationDate,
                'powerKW': powerKW,
                'description': description
            }
          }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...