Вызов API от другого вызова API Ошибка преобразования круговой структуры в JSON - PullRequest
1 голос
/ 22 апреля 2020

Я пытаюсь выполнить вызов API из другого вызова API в этом коде, но получаю сообщение об ошибке: Преобразование круговой структуры в JSON

const express = require('express');
const router = express.Router();
const config = require('config');
const auth = require('../../middleware/auth');
const axios = require('axios');
const CircularJSON = require('circular-json');

//  @router     POST api/couriers/couriersPlease
//  @desc       Test route
//  @access     Private
router.post('/couriersPlease/', auth, async (req, res) => {
    try {
        const apiId = config.get('couriersPlease.id')
        const apiKey = config.get('couriersPlease.key')

        // Encode api id and key to base64 for couriers please request
        const encodedString = new Buffer.from(apiId + ':' + apiKey).toString('base64');

        const apiConfig = {
            headers: {
                'Content-Type': 'application/json',
                'Authorization': `Basic ${encodedString}`
            }
        };

        const body = CircularJSON.stringify(req.body);
        console.log('Body:', body);

        const response = await axios.post('https://api-test.couriersplease.com.au/v2/domestic/quote', body, apiConfig);

        res.json(response);

    } catch (err) {
        console.error('Error: ', err.message);
        return res.status(500).send(err.message);
    }
});

module.exports = router;

Я проверил ответы здесь, но через несколько часов я все еще застрял, я попытался JSON .stringify и даже круговой - json, но он все еще не работает. Есть идеи?

1 Ответ

1 голос
/ 22 апреля 2020
 res.json(response);

должно быть

 res.json(response.data);

Чувствую себя так глупо, ха-ха

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...