"Cannot POST" for Exercise Tracker in Backend Development Backend Course

I am working on the exercise tracker API, and I started implementing the exercise logging API.

Here’s my code for that so for:

Code app.use('/api/users/:_id/excercises', bodyParser.urlencoded());

app.post(‘/api/users/:_id/excercises’, (req, res) => {

console.log(req.body);

});

However, when I go to /api/users/some-random-id/excercises, the browser shows “Cannot POST /api/users/some-random-id/exercises” and doesn’t print out the request’s body to the console.

Why is this happening?

This is all of my code, if it helps:

All Code

require(‘dotenv’).config();
const express = require(‘express’);
const app = express();
const bodyParser = require(‘body-parser’);
const cors = require(‘cors’);
const mongoose = require(‘mongoose’);

mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true });

app.use(cors());
app.use(express.static(‘public’));
app.get(‘/’, (req, res) => {
res.sendFile(__dirname + ‘/views/index.html’);
});

//#region Schema & Model Definitions
const excerciseSchema = new mongoose.Schema({
username: String, description: String,
duration: Number, date: String
});
const Excercise = mongoose.model(‘Excercise’, excerciseSchema);

const userSchema = new mongoose.Schema({
username: String
});
const User = mongoose.model(‘User’, userSchema);

const logSchema = new mongoose.Schema({
username: String, count: Number, log: [{
type: mongoose.Schema.Types.ObjectId,
ref: ‘Excercise’
}]
});
const Log = mongoose.model(‘Log’, logSchema);
//#endregion

//#region User Creation
app.use(‘/api/users’, bodyParser.urlencoded());
app.post(‘/api/users’, (req, res) => {
let _newUser = new User({
username: req.body.username
});
_newUser.save((error, person) => {
if (error) return console.error(error);
res.json({username: person.username, _id: person._id});
});
});
//#endregion

//#region Logging Excercise to User
app.use(‘/api/users/:_id/excercises’, bodyParser.urlencoded());
app.post(‘/api/users/:_id/excercises’, (req, res) => {
console.log(req.body);
});
//#endregion

app.listen(process.env.PORT || 3000);

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.