Конечная точка Node & Express всегда возвращает 200 - PullRequest
0 голосов
/ 21 октября 2019

У меня проблемы с блоком кода в моем API node.js. У меня есть простой API аутентификации JWT, который работает как ожидалось с точки зрения входа в систему и аутентификации. Однако я не могу получить экспресс для возврата статуса ответа, отличного от 200.

Если я введу неверное имя пользователя или пароль для конечной точки входа в систему, ответ, который я получу, будет пустым 200 ответом, несмотря на то, что приведенный ниже кодвыполняет блок catch, и я возвращаю ответ 500 с моей ошибкой. из почтового метода. Это где-то теряется и превращается в пустой ответ 200. При успешном входе в систему код return res.status(200).json.... возвращает правильный ответ.

У меня одинаковая проблема на всех конечных точках, все ответы об ошибках возвращаются как пустой ответ 200.

Может кто-нибудь посоветовать.

app.post('/user/login', async (req, res) => {
    const email = req.body.user.email;
    const password = req.body.user.password;
    try {
      const authServiceInstance = new AuthService();
      const { user, token } = await authServiceInstance.Login(email, password);
      return res.status(200).json({ user, token }).end();
    } catch(e) {
      console.log('Error in login: ', e);
      return res.json(e).status(500).end();
    }
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...