Я прочитал большинство вопросов, касающихся этого, в переполнении стека и не нашел никакого решения, которое работает.
Я хочу переопределить сообщение «Request failed with status code xxx», которое express. js генерируется в команде status (xxx) .send ({})
Пример:
Код сервера:
res.status(990).send({
type: "error",
status: 999,
message: "The external api blocked the answer.",
});
Код клиента:
//client reception:
//First: I set up axios config
var config = {
method: "get",
url: url,
headers: {
"Content-Type": "application/json",
Authorization: "Bearer " + token,
},
params: json, };
И тогда я могу запустить его вот так (также на стороне клиента)
try{const answer = await axios(config); // and stuff if works
}
catch(err) {
return { res: err.response, message: err.message, type: "error" };
}
Что я ожидаю: сообщение об ошибке (поступающее с сервера) будет : Внешний API заблокировал ответ
Что я получаю:
- «сообщение об ошибке» - «Запрос не выполнен с кодом состояния 999»
- Я получаю сообщение об ошибке err.response с хорошим сообщением в err.response.data.message
Итак, я могу получить его, выполнив
message: err.response.data.message
Но я хотелось бы, чтобы сообщение об ошибке было заменено моим сообщением об ошибке на сервере . Таким образом, чтобы получить ошибку, клиент должен выполнить 0 настроек.
Есть идеи?