После развертывания приложения в Heroku к переменной конфигурации API_URL добавляется URL-адрес моего текущего приложения, что приводит к неправильным URL-адресам запросов. - PullRequest
1 голос
/ 10 марта 2020

Я использую два отдельных приложения (внешний интерфейс приложения-приложения и серверный узел / express) в Heroku. Я пытаюсь сделать запрос с info-screen.herokuapp.com на один информационный экран.

Это обработчик GET-запроса:

app.get('/info', (req, res) => {
    Info.find()
    .then( info => {
        res.status(200).json(info)
    })
    .catch( err => {
        res.status(404).json({
            message: err
        });
    });
});

И здесь вы можете увидеть внешнюю сторону, которая на самом деле отправляет запросы:

 axios.get(API_URI + '/info')
    .then( (resp) => {
      console.log(resp);
    })
    .catch( (err) => {
      console.log(err);
    })

Вот конфиг var для переменной env API_URI:

Config var

Я искал исправление для этого около двух часов.

Когда бы я ни отправлял запрос, по какой-то причине интерфейс пытается префиксировать переменную API_URI своим собственным URI, что приводит к этому (посмотрите URL запроса):

Request

Кто-нибудь здесь, возможно, имел какой-либо опыт с этим? Я попытался погуглить и подумал, что, может быть, create-реагировать-приложение использует BaseUrl или что-то, но, видимо, это не так.

Когда я отправляю запрос в API напрямую, он возвращает это нормально:

[
  {
    "created_by": "Innkaupadeild",
    "show": false,
    "_id": "5e67b5b4070f000004a62c79",
    "title": "New shipment on hold",
    "details": "New shipment on testing 2",
    "created_date": "2020-03-10T15:43:48.710Z",
    "modified_date": "2020-03-10T15:43:48.710Z",
    "__v": 0
  }
]

Это означает, что это определенно на сайте интерфейса.

Возможно, мне не хватает чего-то в моем пакете. json или мне нужен другой файл, чтобы разрешить герою делать внешние запросы?

Пакет сборки, который я использую на веб-интерфейсе, "Mars Create-React-Buildpack"

1 Ответ

1 голос
/ 10 марта 2020

Если API_URI не равен https://info-screen.herokuapp.com, возможно, это просто потому, что изображение вырезает часть значения, но в набранном вами тексте вы также пропускаете протокольную часть URL

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