Node.js API新增GET路由失效问题排查求助
问题排查与解决方案
不需要新增独立的Controller.js,同一个Controller完全可以处理多个路由接口,以下是针对你新增路由失效问题的排查点:
前端请求路径错误
你当前的getOldNames方法是空实现,要确认请求路径是否拼接正确。比如原getChange使用的controller变量是基础路径(如/api/change),那getOldNames应该写成:export const getOldNames= async()=> { return await axiosDefault.get(`${controller}/oldnames`); };若未拼接
/oldnames,前端请求的还是根路径,自然匹配不到新路由。后端路由挂载路径验证
检查主入口文件(index.js)中路由的挂载代码,比如是否是:app.use('/api/change', router);若是,那么新接口的完整请求路径应为
/api/change/oldnames,前端必须严格对应这个路径。控制器方法的导出/导入检查
确认Controller.js中exports.getOldNames的拼写完全正确,同时routes.js中导入controller时没有拼写错误(比如大小写、单词拼写偏差)。控制器需返回响应
你的getOldNames控制器只写了console.log,但没有返回响应(如res.json(data)或res.status(200).send('success')),前端会因等待超时判定接口失效。参考getChange的逻辑,补充响应返回代码。路由顺序问题
确保/oldnames路由定义在通配符路由(如router.get('*', ...))之前,避免被拦截。
内容的提问来源于stack exchange,提问作者maladez
相关产品推荐
相关产品推荐

