переопределить «Запрос не выполнен с кодом состояния» в express. js - PullRequest
0 голосов
/ 16 июня 2020

Я прочитал большинство вопросов, касающихся этого, в переполнении стека и не нашел никакого решения, которое работает.

Я хочу переопределить сообщение «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 заблокировал ответ

Что я получаю:

  1. «сообщение об ошибке» - «Запрос не выполнен с кодом состояния 999»
  2. Я получаю сообщение об ошибке err.response с хорошим сообщением в err.response.data.message

Итак, я могу получить его, выполнив

message: err.response.data.message

Но я хотелось бы, чтобы сообщение об ошибке было заменено моим сообщением об ошибке на сервере . Таким образом, чтобы получить ошибку, клиент должен выполнить 0 настроек.

Есть идеи?

...