Node/Express cannot get url "Cannot GET /api/auth/register"

Viewed 196

I am trying to create a register page. when I route its shows Cannot GET /api/auth/register same thing happened when I route login and others too. i use postman to throw data it's shown 5000 internet server error. how to solve route problem for register enter image description here

// tested REGISTER i used it to test this code is runing or not in tutorial this code was runnign and show in register path is "ok"

// tested REGISTER

const express = require("express");
const router = express.Router();
const User = require("../models/User"); 
    router.get("/register", async (req, res) => {
        //create new user
        const user = await new User({
          username:"admin",
          email:"admin@gmail.com",
          password: "123456"
        });
        //save user and respond
        await user.save();
        res.send("Hello") 
    });
    
    module.exports = router;

index.js

const express = require("express");
const app = express();
const mongoose = require("mongoose");
const dotenv = require("dotenv");
const helmet = require("helmet");
const morgan = require("morgan");
const userRoute = require("./routes/users");
const authRoute = require("./routes/auth");
const postRoute = require("./routes/posts");

dotenv.config();
  
mongoose.connect(
  process.env.MONGO_URL,
  { useNewUrlParser: true, 
    useUnifiedTopology: true 
  },
  () => {
    console.log("Connected to MongoDB");
  }
);

//middleware
app.use(express.json());
app.use(helmet());
app.use(morgan("common"));

app.use("/api/auth", authRoute);
app.use("/api/users", userRoute);
app.use("/api/posts", postRoute);

app.listen(8000, () => {
  console.log("Backend server is running!");
});

auth.js here the login and register file

const express = require("express");
const router = express.Router();
const User = require("../models/User");
const bcrypt = require("bcrypt");
   
//REGISTER

router.post("/register", async (req, res) => {
  try {
    //generate new password
    const salt = await bcrypt.genSalt(10);
    const hashedPassword = await bcrypt.hash(req.body.password,salt);
    //create new user
    const newUser = new User({
      username: req.body.username,
      email: req.body.email,
      password: hashedPassword,
    });
    //save user and respond
    const user = await newUser.save();
    res.status(200).json(user);
  } catch (err) {
    res.status(500).json(err)
  }
});

//LOGIN

router.post("/login", async (req, res) => {
  try {
    const user = await User.findOne({ email: req.body.email });
    // make sure user is not empty {} or [];
    if (!user) res.status(404).json("user not found");

    const validPassword = await bcrypt.compare(req.body.password,
    user.password)
     // make sure password is not empty {} or [];
    if(!validPassword) res.status(400).json("wrong password");

    res.status(200).json(user)
  } catch (err) {
    res.status(500).json(err)
  }
});
module.exports = router;
0 Answers
Related