尽管声明了路由,但快速路由 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);
剩下的代码应该是应该的。
所以在我的后端服务器上,我声明了一个接受参数的路由
这是路线:
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);
剩下的代码应该是应该的。