'Error while creating rest API in postman 500
I'm building an API using nodejs for the web I already have a database and the GET request works but when I try POST it gives me This errorError
This is the code
//user Schema
const mongoose = require("mongoose")
const UserSchema = new mongoose.Schema({
username:{
type:String,
required:true,
unique:true,
},
email:{
type:String,
required:true,
unique:true,
},
password:{
type:String,
required:true,
},
profilePicture:{
type:String,
default:"",
},
},{ timestamps:true });
module.exports = mongoose.model("user", UserSchema);
//auth route
const router = require("express").Router();
const User = require("../models/User");
//Register
router.post("/register", async(req,res)=>{
try{
const newUser = new User({
username: req.body.username,
email: req.body.email,
password:req.body.password,
});
const user = await newUser.save();
res.status(200).json(user);
}
catch(err){
res.status(500).json(err);
}
});
module.exports = router
// index.js
require('dotenv').config()
const express = require("express");
const app = express()
const mongoose = require("mongoose")
const router = require("./routes/auth");
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.json());
mongoose.connect(process.env.MONGO_URL, ()=>{
console.log("connected to a db server");
});
app.use("/api/auth", router);
app.listen("5000", ()=>{
console.log("connected to port 5000.")
});
Solution 1:[1]
try this on your index.js. after your DB is connected. you can start server
// index.js
require('dotenv').config()
const express = require("express");
const app = express()
const mongoose = require("mongoose")
const router = require("./routes/auth");
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.json());
mongoose.connect(process.env.MONGO_URL, () => {
console.log("connected to a db server");
app.use("/api/auth", router);
app.listen("5000", () => {
console.log("connected to port 5000.")
});
});
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Segun Adeniji |