Axios - NodeJS Всегда возвращает 500 внутреннюю ошибку сервера - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть один нод-экспресс-проект для шлюза API.

Это код моего шлюза;

app.use(cors({
    origin: 'http://localhost:8081',
    methods: ['GET', 'POST', 'PUT', 'DELETE'],
    optionsSuccessStatus: 200
}));
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());
//app.use(morgan('combined'));
app.use(cacheControl({
    noCache: true
}));
dotenv.load();
// Serve static assets
app.use(express.static(path.join(__dirname, 'dist')));

axios.interceptors.response.use((response) => {
    return {
        success: true,
        status: response.status,
        data: response
    };
}, error => {
    let e = error;
    let errObject = {
        response: {
            data: e.response.data
        }
    };
    return Promise.reject(errObject);
});
app.post('/service', (req, res) => {
       if (req.body.type.indexOf('auth' > -1)) {
          let payload = {
              url: process.env.DEV_ENDPOINT + req.body.type,
              method: req.body.method,
              data: req.body.data
          };
           try {
              return axios(payload).then(function(response){
                   res.send(response);
               }).catch((error) => {
                   res.send(error);
               })
           } catch (e) {
               console.log("error");
               console.log(e);
           }
       } else {
           // verify it first
       }
});

app.listen(PORT, error => (
  error
    ? console.error(error)
    : console.info(`Listening on port ${PORT}. Visit http://localhost:${PORT}/ in your browser.`)
));

module.exports = app;

Теперь проблема здесь; в перехватчиках axios всегда ловит ошибку. Ошибка;

500 Внутренняя ошибка сервера. Если вы являетесь администратором этого веб-сайта, прочитайте файл журнала этого веб-приложения и / или файл журнала веб-сервера, чтобы узнать, что пошло не так.

В почтальоне я отправляю запрос на актуальный API и его работоспособность Но в Axios, так или иначе, это не работает. Он всегда отправляет текст ошибки.

...