Andrew
Andrew

Reputation: 705

Axios get request keeps hitting 404

This is the get request:

this.props.userId contains the userId.

componentDidMount() {
    axios.get('/api/auth/booked/' + this.props.userId)
      .then(response => {
        console.log(response);
      })
      .catch(error => {
        console.log(error);
      });
  }

This is the routes on my backend:

router.get('/booked:id', UserController.bookedClasses);

It's something to do with the '/booked:id'

Result:

GET http://localhost:3000/api/auth/booked/5bdb18071c8fb30d31969aef 404 (Not Found)

Nice and simple but for some odd reason, I can't get a response, I have all my system working apart from this route, can anyone spot anything that shouldn't be there?

Any feedback would be appreciated to help me and others!

This is my routes folder which holds all my routes:

const express = require('express');
const router = express.Router();

const UserController = require('../controllers/auth');

router.post('', UserController.createUser);

router.post('/login', UserController.login);

router.post('/bookclass', UserController.bookClass);

router.get('/:id', UserController.getUser);

router.get('/booked:id', UserController.bookedClasses);

module.exports = router;

Upvotes: 1

Views: 778

Answers (1)

Ariel
Ariel

Reputation: 1436

Router params must be specified in the path of the route. Example:

'/some/route/:param'

or with multiple params:

'/some/route/:param/:anotherParam'

In your example:

router.get('/booked:id', UserController.bookedClasses);

should be (check the extra / in the path):

router.get('/booked/:id', UserController.bookedClasses);

Upvotes: 3

Related Questions