Node.js Express框架下API路由配置异常,/courses路径访问返回404
Express路由访问异常解决方案
你当前代码存在3处配置错误,按以下步骤修改即可解决:
- 修正app.js中的路由挂载前缀
原代码中app.use('api/courses', courses)缺少前缀斜杠,会导致路径匹配规则失效,修改为:
app.use('/api/courses', courses);- 修正app.js中的路由挂载前缀
- 修正子路由的路径定义
你已经在app.js中将courses路由挂载到了/api/courses前缀下,子路由文件中再定义router.get('/courses')会导致最终可访问路径拼接为/api/courses/courses。如果要实现访问/api/courses即可拿到返回,将routes/api/courses.js中的路由修改为:
// @route GET /api/courses router.get('/',(req,res)=>{ res.send('Courses are connected!'); })- 修正子路由的路径定义
- 访问路径与端口要匹配
你的服务监听端口是8082,默认直接访问localhost不带端口会请求80端口,修改后正确的访问地址为http://localhost:8082/api/courses。
- 访问路径与端口要匹配
如果希望直接通过 http://localhost:8082/courses 访问,只需要将app.js中的路由挂载规则修改为:
app.use('/courses', courses);
内容的提问来源于stack exchange,提问作者phoenix
相关产品推荐
相关产品推荐

