Как найти маршрут в Экспресс? - PullRequest
0 голосов
/ 26 марта 2019

Я использую Express и пытаюсь проверить учетные данные для входа в систему. Это прекрасно работает, когда я использую почтовый запрос без маршрута.Но я получаю сообщение об ошибке при использовании экспресс-маршрута.

Это мой код index.js

const app = express();
app.use(bodyParser.json());
mongoose.connect("mongodb://localhost/bookworm", { useNewUrlParser: true });

console.log("post request");
app.use("api/auth", auth);

app.get("/*", (req, res) => {
  res.sendFile(path.join(__dirname, "index.html"));
});

app.listen (8080, () => console.log ("Работает наlocalhost: 8080 "));

код маршрутов / auth.js,

const router = express.Router();

router.post("/", (req, res) => {
  res.status(400).json({ errors: { global: "Invalid Credentials" } });
});

Я ожидаю, 400: неверные учетные данные.но я получаю "TypeError: Невозможно прочитать свойство 'global' из неопределенного"

1 Ответ

0 голосов
/ 26 марта 2019

Кажется, вы не позволяете вашему app знать, что он должен использовать router в определенных конечных точках.

import express from 'express'

const app = express()

const router = express.Router()
router.post('/', (req, res) => {
    res.status(401).json({ errors: { global: "Invalid Credentials" } });
})

app.use('api', router)
app.listen(8080, () => console.log('listening on 8080'))

Теперь вы можете вызывать конечную точку следующим образом: http://localhost:8080/api с помощьюPOST запрос и он должен вернуть вам 401 ошибку

Подробнее здесь: https://expressjs.com/en/guide/routing.html#express-router

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...