Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Getting error <pre>Cannot POST /api/category/create/62545ea650265cda5b08f10d</pre>

I am learning MERN development, and trying to create API for adding category by using postman. But getting below error

Cannot POST /api/category/create/62545ea650265cda5b08f10d

I am adding here code and screen shot of postman, I would appreciate for any help!

controller\category.js

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel


    const Category = require("../models/category");
    //const { errorHandler } = require("../helpers/dbErrorHandler");
    
    exports.create = (req, res) => {
        const category = new Category(req.body);
        category.save((err, data) => {
            if (err) {
                return res.status(400).json({
                    // error: errorHandler(err)
    
                });
            }
            res.json({ data });
        })
    }

model\category.js


    const mongoose = require('mongoose');
    
    
    const categorySchema = new mongoose.Schema({
        name: {
            type: String,
            trim: true,
            required: true,
            maxlength: 32
        }
    }, { timestamps: true }
    );
    
    
    module.exports = mongoose.model("Category", categorySchema);

routes/category.js


    const express = require('express');
    const router = express.Router();
    
    
    const { create } = require('../controllers/category');
    const { requireSignin, isAuth, isAdmin } = require('../controllers/auth');
    const { userById } = require('../controllers/user');
    
    router.post("/category/create:userId", requireSignin, isAuth, isAdmin, create);
    router.param('userId', userById);
    
    
    module.exports = router; 

  

app.js


    // const express = require('express')
    // const app = express()
    // require('dotenv').config()
    
    // app.get('/',(req, res)=>{
    //     res.send('hello from node updated');
    // })
    
    // const port = process.env.PORT || 8000 
    
    // app.listen(port, ()=>{
    //     console.log(`Servver is running on port ${port}`)
    // });
    
    const express = require('express')
    
    // import mongoose
    const mongoose = require('mongoose');
    const morgan = require('morgan');
    const bodyParser = require('body-parser');
    const cookieParser = require('cookie-parser');
    const expressValidator = require('express-validator');
    // load env variables
    const dotenv = require('dotenv');
    dotenv.config();
    
    //import routes
    const authRoutes = require('./routes/auth');
    const userRoutes = require('./routes/user');
    const categoryRoutes = require('./routes/category');
    
    //app
    const app = express();
    
    //db connection
    mongoose.connect(
      process.env.DATABASE,
      {
        useNewUrlParser: true
      }
    )
      .then(() => console.log('DB Connected'));
    
    mongoose.connection.on('error', err => {
      console.log(`DB connection error: ${err.message}`)
    });
    
    //middlewares
    app.use(morgan('dev'))
    app.use(bodyParser.json())
    app.use(cookieParser());
    app.use(expressValidator());
    
    //routes middleware
    app.use("/api", authRoutes);
    app.use("/api", userRoutes);
    app.use("/api", categoryRoutes);
    
    // app.get('/',(req, res)=>{
    //     res.send('hello from node updated');
    // })
    
    const port = process.env.PORT || 8000
    
    app.listen(port, () => {
      console.log(`Servver is running on port ${port}`)
    });

  [1]: https://i.stack.imgur.com/vKqBt.png

>Solution :

just simply use category/create/:userId in your routes

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading