2

Whenever I try a post request in insomnia with my endpoint: http://localhost:3000/clients, I get a TypeError, but this happens only with post method, get seems ok. I would be glad if you could explain it to me. Thanks in advance!

const express = require("express");
const app = express();
const PORT = 3000;
const database = require("./data.json");

//get all clients
app.get("/clients", (req, res) => {
 
    res.status(200).json(database)
    app.use(express.json());

});
//get single client
app.get("/clients/:id", (req, res) => {
    const { id } = req.params; 
    const client = database.find(cli => cli.id == id);
    if (!client) return res.status(204).json();

    res.status(200).json(client);

});
//post clients
app.post("/clients", (req, res) => {
    const { name, email } = req.body;

    res.json({ name, email });
});
app.put("/clients/", (req, res) => {

});
app.delete("/clients/", (req, res) => {

});
app.listen(PORT, () => {
    console.log("Server is on");
})

TypeError: Cannot destructure property 'name' of 'req.body' as it is undefined.
    at c:\Users\corno4\Documents\API\index.js:40:13
    at Layer.handle [as handle_request] (c:\Users\corno4\Documents\API\node_modules\express\lib\router\layer.js:95:5)
    at next (c:\Users\corno4\Documents\API\node_modules\express\lib\router\route.js:144:13)
    at Route.dispatch (c:\Users\corno4\Documents\API\node_modules\express\lib\router\route.js:114:3)
    at Layer.handle [as handle_request] (c:\Users\corno4\Documents\API\node_modules\express\lib\router\layer.js:95:5)
    at c:\Users\corno4\Documents\API\node_modules\express\lib\router\index.js:284:15
    at Function.process_params (c:\Users\corno4\Documents\API\node_modules\express\lib\router\index.js:346:12)
    at next (c:\Users\corno4\Documents\API\node_modules\express\lib\router\index.js:280:10)
    at expressInit (c:\Users\corno4\Documents\API\node_modules\express\lib\middleware\init.js:40:5)
    at Layer.handle [as handle_request] (c:\Users\corno4\Documents\API\node_modules\express\lib\router\layer.js:95:5)
traktor
  • 17,588
  • 4
  • 32
  • 53
Normye
  • 45
  • 4

0 Answers0