尽管声明了路由,但快速路由 returns 404

Express routing returns 404 despite route being declared

所以在我的后端服务器上,我声明了一个接受参数的路由

这是路线:

router.route('/freeze-check/:region').get(freezeCheck);

freezeCheck 只是一个控制器,它从过滤掉具有 regionId 的产品的数据库中提取。

在我的前端,我通过这样做调用了这条路由:

const adminRegion = props.authData.admin.region.id;
    const res = await apiCaller.get(`/products/freeze-check`, { params: { region: adminRegion } 

apiCaller 只是使用一些设置导出的 axios。我控制台多次登录 adminRegion,它 returns 是预期值,这是从 redux 存储中提取的状态,但是后端 returns 是这样的:

GET /api/products/freeze-check?region=1 404 30.114 ms - 164

自从我在后端声明该路由所有基本 URL 都工作正常以来我没有得到我可以验证这一点,我是否缺少语法或其他什么?这是因为旧的 express 或 axios 版本吗?

我正在使用:

快递:^4.14.0

axios: ^0.16.2

通过查看您的请求响应,您没有将区域作为参数发送,而是作为查询发送。

GET /api/products/freeze-check?region=1

尝试像这样发送参数

await apiCaller.get(`/products/freeze-check/${adminRegion}`)

如果参数是可选的,你可以像这样。在路线中传递尾随问号

router.route('/freeze-check/:region?').get(freezeCheck);

剩下的代码应该是应该的。