Как совершать вызовы API на экспресс-сервере - PullRequest
1 голос
/ 09 октября 2019

Я пытаюсь сделать запрос на получение на экспресс-сервере, в настоящее время сервер просто печатает все почтовые запросы, и до этого все работает нормально, проблема в том, что когда выполняется запрос GET, ответ возвращается как «неопределенный»

var env = process.env.NODE_ENV || "development";
var config = require("./config")[env];

const express = require("express");
const bodyParser = require("body-parser");
const axios = require("axios");
const app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

const hostname = config.server.host;
const port = config.server.port;

app.post("/", (req, res) => {
  console.log(req.body);
  res.sendStatus(200);

  axios
    .get("https://reqres.in/api/products/3")
    .then(response => {
      console.log(response);
    })
    .catch(error => {
      console.log(error.response);
    });
});

app.listen(port, hostname, () =>
  console.log(`Server running at http://${hostname}:${port}/`)
);

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Выполнен следующий код

    axios .get("https://reqres.in/api/products/3") 
.then(response => { console.log(response); }) 
.catch(error => { console.log(error.response); })

Он выполнен и работает нормально.

Я думаю, что в вашем случае он собирается поймать блок

Измените следующую строку

.catch(error => {
      console.log(error.response);
    });

TO

.catch(error => {
      console.log(error);
    });

И посмотрите, печатается ли какая-либо ошибка. Объекту ответа не назначена ошибка, которая может быть при получении undefined

0 голосов
/ 09 октября 2019

Используйте Почтальон для отправки вызовов Api на сервер. Я прилагаю ссылку внизу.

  • Установите расширение Postman Chrome, если вы используете Chrome.
  • Используйте Localhost: порт сервера и метод post и добавьте переменную для отправки вашего запроса

Надеюсь, это поможет.

Более того, просто добавьте эту настройку в свой коди слушать на правильном локальном хосте,

var env = process.env.NODE_ENV || "development";
var config = require("./config")[env];

const express = require("express");
const bodyParser = require("body-parser");
const axios = require("axios");
const app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

const hostname = config.server.host;
const port = config.server.port;

app.post("/", (req, res) => {
  console.log(req.body);
  res.sendStatus(200);

  axios
    .get("https://reqres.in/api/products/3")
    .then(response => {
      console.log(response);
    })
    .catch(error => {
      console.log(error.response);
    });
});

app.listen(1337, function(){
  console.log('Express listening on port', this.address().port);
});

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