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

使用Insomnia发POST请求时Mongoose返回Null的排查与修复

排查POST请求返回Null的路由相关问题

路由导出/挂载常见错误排查

  • 路由导出方式错误
    确保auth.js中正确导出路由实例,避免导出格式错误导致挂载失败:

    // auth.js 正确导出示例
    const express = require('express');
    const router = express.Router();
    
    router.post('/get-username', async (req, res) => {
      // 你的查询逻辑
    });
    
    module.exports = router;
    

    不要用module.exports = { router }这类错误格式导出,否则挂载时无法正确识别路由。

  • 路由挂载路径不匹配
    在index.js中挂载路由时,要保证挂载前缀和Insomnia的请求路径一致:

    // index.js 正确挂载示例
    const authRouter = require('./auth');
    app.use('/api/auth', authRouter);
    

    比如挂载前缀是/api/auth,那Insomnia的请求路径应该是http://localhost:xxx/api/auth/get-username,路径不匹配会导致请求无法命中目标路由,返回空值。

  • 请求方法不匹配
    确认auth.js中用的是router.post()而非router.get(),请求方法和路由定义不一致时,服务器无法正确处理请求,可能返回Null。

辅助排查点

  • 检查index.js是否配置了解析JSON请求体的中间件,否则无法获取req.body中的参数:
    app.use(express.json());
    
  • 核对用户Schema的username字段名和MongoDB中存储的字段名完全一致(MongoDB区分大小写),避免查询时因字段名不匹配返回空值。

内容的提问来源于stack exchange,提问作者John Lopez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:52:01