Разница в вызовах API в производстве и разработке?

Предыстория: У меня есть бэкенд сервер личного проекта, который делает вызов к стороннему API. Я сделал этот вызов на своем собственном сервере вместо React Front-End, чтобы избежать ошибки CORS.

Проблема: Когда бэкенд находится в разработке, и вызов API выполнен, он возвращает корректные данные. Но после размещения API возвращает некорректные данные. Под неправильными данными я подразумеваю, что ответ имеет тот же формат, но основное требуемое содержимое (которое является URL) неверно.

. Я хотел бы узнать больше о том, в чем разница между двумя вызовами API, которые выполняет мой сервер, один на localhost, а другой на Production.

Вот какой правильный ответ я получаю в разработке

{
  status: 200,
  message: "success",
  meta: "https://SOME_URL.com"
}

Вот как выглядит неправильный ответ, который я получаю в Development

{
  status: 200,
  message: "success",
  meta: "https://SOM_OTHER_URL.com"
}

Обратите внимание, что SOME_OTHER_URL фактически не существует и выдает 404, в то время как SOME_URL является правильным Доменом.

Что я еще выяснил:

  1. I have used different hosting services, Heroku and Vercel, so, the Host is probably not the problem here.
  2. I have created the backend in two Tech Stacks, Django and Node - Express, so that also checks out, as both return same incorrect Data in Production, whereas, both return Correct Data in Development.

Итак, я хотел узнать о том, какие данные посылают вызовы API в виде заголовков запросов и т.д. и в чем разница между ними при выполнении в Development и Production.

Вот экспресс-код:

const express = require('express');
const router = express.Router();
const axios = require('axios');

router.post('/', async (req, res) => {
    try{
        axios.post('THIRD_PARTY_API', {
            id: req.body.id
        })
        .then(resp => {
            console.timeLog
            res.status(200).json({
                'success': true,
                'body': JSON.stringify(resp.data)
            })
        })
        .catch(err => {
            console.error("Error: ", err);
            return res.status(400).json("Server Error!");
        })
    } catch(error) {
        console.error(error);
        return res.status(500).json("Server Error!");
    }
});

module.exports = router;

Это обеспечивает правильные данные при использовании в localhost, но не в Production.

Вернуться на верх