У меня есть один нод-экспресс-проект для шлюза 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, так или иначе, это не работает. Он всегда отправляет текст ошибки.