You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

需实现获取今日startDate任务的API端点,现有代码返回404错误求排查

解决API端点返回404的问题

404错误说明请求的路径未匹配到任何注册的路由,结合你其他端点正常的情况,可从以下几个方向排查:

  • 检查路由注册顺序
    Express路由按注册顺序匹配,若/tasks/today写在/tasks/:id这类动态参数路由之后,Express会把today当成id参数优先匹配动态路由,导致/tasks/today永远无法被命中。
    解决:将静态路由移到动态路由之前,示例:

    // 先注册/tasks/today路由
    app.get('/tasks/today', (req, res) => { /* ... */ });
    // 再注册动态参数路由
    app.get('/tasks/:id', (req, res) => { /* ... */ });
    
  • 验证请求路径完全匹配
    确认实际请求路径和路由完全一致:

    • 检查是否多写/漏写字符(比如/task/today vs /tasks/today)
    • 检查大小写(Express路由默认区分大小写,可通过app.set('case sensitive routing', false)关闭区分)
  • 排查中间件的路径前缀
    如果路由是挂载在带前缀的中间件下(比如用express.Router()创建路由后,通过app.use('/api', router)挂载),实际请求路径应为/api/tasks/today,而非/tasks/today。

  • 确认服务器已重启
    修改路由代码后必须重启Node.js服务器,否则服务器仍运行旧代码,新路由不会被注册。

你还可以在路由开头加日志,验证路由是否被命中:

app.get('/tasks/today', (req, res) => {
    console.log('今日任务路由已触发'); // 新增日志
    const today = new Date().toISOString().slice(0, 10);
    // ... 剩余代码
});

若请求后控制台无此日志,说明路由确实未被匹配,回到上述排查点。

内容的提问来源于stack exchange,提问作者Yassin Kerroumi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:40:09