Buenas! Estoy desarrollando una mini API RESTFul
con Node.js
y Mongodb
. La cuestion es la siguiente, estoy desarrollando 4 funciones basicas para mi API que serian GET, POST, UPDATE, DELETE
.
Estoy teniendo un error al realizar el DELETE
y es el siguiente error:
Cannot DELETE /api/product/58feb76ed70f040be8d69e6d
Y este seria mi codigo:
'use strict'const express = require('express');const bodyParser = require('body-parser');const mongoose = require('mongoose');const Product = require('./modelos/product');const app = express();const port = process.env.PORT || 3001;app.use(bodyParser.urlencoded({extended: false}));app.use(bodyParser.json());app.get('/api/product', (req, res) => { Product.find({}, (err, products) => { if(err) return res.status(500).send({message: `Error al realizar peticion ${error}`}); if(!products) return res.status(404).send({message: 'No existen productos'}); res.send(200, {products}); });});app.get('/api/product/:productId', (req, res) => { let productId = req.params.productId; Product.findById(productId, (error, product) => { if (error) return res.status(500).send({message: `Erro al realizar peticion ${error}`}); if(!product) return res.status(404).send({message: 'El producto no existe!'}); res.status(200).send({product}); });});app.post('/api/product', (req, res) => { console.log('POST /api/product'); console.log(req.body); let product = new Product() product.name = req.body.name product.picture = req.body.picture product.price = req.body.price product.category = req.body.category product.description = req.body.description product.save((err, productStored) =>{ if (err)res.status(500).send({message: `Error al salvar en la base de datos: ${err}`}); res.status(200).send({product: productStored}); });});app.put('/api/product:productId', (req, res) => {});app.delete('/api/product:productId', (req, res) => { let productId = req.params.productId; Produc.findById(productId, (err, product) =>{ if(err) res.status(500).send({message: `Error al borrar el producto ${err}`}); product.remove(err =>{ if(err) res.status(500).send({message: `Error al borrar el producto ${err}`}); res.status(200).send({message: 'El producto ha sido eliminado'}); }) })});mongoose.connect('mongodb://localhost:27017/shop', (error, res) =>{ if(error){ return console.log(`Error al conectar a la base de datos: ${error}` ); } console.log("Conexion a la base de datos correcta"); app.listen(port, () => { console.log(`API REST corriendo en http://localhost:${port}`); });});
Estoy cargando los productos a la API de prueba con POSTMAN
.