POST-маршрут, указывающий на ошибку 404 (EXPRESS) - PullRequest
0 голосов
/ 13 апреля 2019

Получение ошибки 404 на моем маршруте POST, вот что я сделал в моем файле auth.js (маршруты):

const express = require('express');
const router = express.Router();
const connection = require('../../helpers/db.js'); 

const bodyParser = require("body-parser");


router.use(bodyParser.json());
router.use(bodyParser.urlencoded({
    extended: true
 }));

 //create a new user


  router.post('/signup', function (req, res) {
    const insert = `INSERT INTO users ( email, password, name, lastname) values ('${req.body.email}', '${req.body.password}','${req.body.name}', '${req.body.lastname}' )`
    connection.query(insert, function (err, result) {
          if(err) {
             console.log('mysql error', error);
             res.status(500);
             res.send(error);
          } else {                  
           console.log('a new user was added!');
           res.send('Congrats, new user!');
         }
       })
     });


module.exports = router;

Вот мой файл app.js:

const http = require("http");
const path = require("path");
const express = require("express");
const bodyParser = require("body-parser");
const morgan = require("morgan");
const app = express();
const authRouter = require("./routes/auth/auth");



// Configuring the app

app.use(morgan("dev"));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(express.static(__dirname + "/public"));

app.use("/signup", authRouter); 

//starting node server

const server = app.listen(process.env.PORT || 3001, function(err) {
    if(err) throw err;
    console.log("Listening on port " + server.address().port);
  });

Если я изменю свой маршрут на GET, он будет работать нормально, но как только я выполню POST-маршрут, он будет постоянно сообщать мне о почтальоне, что есть ошибка 404, я пробовал много вещей, но я застрял!Я новичок здесь :)

1 Ответ

1 голос
/ 13 апреля 2019

Я думаю, что вы добавили префикс к вашему маршруту, поэтому маршрут / регистрация / регистрация

Попробуйте изменить это

app.use("/signup", authRouter); 

На это

app.use(authRouter); 
...