Axios获取请求持续命中404

时间:2018-11-01 17:49:49

标签: javascript reactjs express axios

这是获取请求:

this.props.userId包含userId。

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

这是我后端上的路由:

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

这与'/booked:id'

有关

结果:

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

既好又简单,但由于某种奇怪的原因,我无法得到回应,我的所有系统都在这条路线之外工作,有人能发现不应该出现的东西吗?

任何反馈都会帮助我和其他人!

这是我的路线文件夹,其中包含我的所有路线:

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;

1 个答案:

答案 0 :(得分:2)

路由器参数必须在路由路径中指定。示例:

'/some/route/:param'

或具有多个参数:

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

在您的示例中:

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

应为(检查路径中的多余/):

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