Cannot send POST request "/api/user/cart/addtocart%0A" in Postman

Viewed 623

I'm creating a cart page for an e-commerce website. When I try to make a POST request to create a cartItem in Postman, it shows an error

Cannot POST /api/user/cart/addtocart%0A

Here is my code

Index.js

const express = require('express');
const app = express();

const cartRoutes = require('./routes/cart');
app.use('/api', cartRoutes); 

cart.js (routes)

const express = require('express');
const { requireSignin, userMiddleware } = require('../common-middleware');
const { addItemToCart } = require('../controller/cart');
const router = express.Router();


router.post('/user/cart/addtocart', requireSignin, userMiddleware, addItemToCart);


module.exports = router;

Cart.js (controller)

const Cart = require('../models/cart');

exports.addItemToCart = (req, res) => {
    console.log('ece')
    const cart = new Cart({
        user: req.user._id,
        cartItems: req.body.cartItems
    });

    cart.save((error, cart) => {
        if(error) return res.status(400).json({ error });

        if(cart){
            return res.status(201).json({ cart });
        }
    });

};

cart.js(models)

const mongoose = require('mongoose');

const cartSchema = new mongoose.Schema({

    user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
    cartItems: [
        {
            product: { type: mongoose.Schema.Types.ObjectId, ref: 'Products', required: true },
            quantity: { type: Number, default: 1 },
            price: { type: Number, required: true }
        }
    ]

}, {timestamps: true});


module.exports = mongoose.model('Cart', cartSchema);

This is what I am getting in postman: Postman screenshot

1 Answers

You have a new line when you make your call on Postman.

Delete the last symbol in your link: picture where it is located

Related