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

重置密码功能报404错误,请求/api/v1/auth/forgot-password未找到

重置密码接口404错误排查方案

1. 后端路由配置验证

  • 确认路由挂载路径匹配
    检查server.js中是否有类似app.use('/api/v1/auth', authRoutes)的代码,确保路由前缀和请求路径完全对应
  • 核对路由定义细节
    路由文件中forgot-password的定义必须是router.post('/forgot-password', forgotPasswordController),禁止末尾多带斜杠(比如/forgot-password/),路径大小写要和请求URL严格一致
  • 验证路由导入导出正确性
    确认路由文件用module.exports = router导出,且server.js中的导入语句无拼写错误

2. 前端请求配置检查

  • 校验请求URL拼写
    确保Axios请求的URL是http://localhost:3000/api/v1/auth/forgot-password,检查大小写、斜杠、前缀是否和后端完全匹配
  • 确认请求方法为POST
    必须是axios.post(...)调用,不能误用GET或其他方法
  • 检查请求头格式
    若后端要求JSON格式,确保请求头包含Content-Type: application/json(Axios默认会自动处理,但需确认未被手动修改)

3. 控制器与路由关联检查

  • 确认控制器函数导入正确
    路由文件中需正确导入控制器函数,比如const { forgotPassword } = require('../controllers/authController'),函数名要和控制器中的导出完全一致
  • 验证控制器导出有效性
    控制器文件中必须有exports.forgotPassword = async (req, res) => { ... }这类导出语句,确保函数存在且可被路由调用

4. 服务器运行状态验证

  • 确认后端服务端口为3000
    查看server.js的端口配置是否为const PORT = 3000,启动后控制台需显示Server running on port 3000
  • 用Postman/cURL直接测试接口
    发送POST请求到http://localhost:3000/api/v1/auth/forgot-password,若仍返回404,问题出在后端路由;若能正常响应,问题则在前端请求代码

内容的提问来源于stack exchange,提问作者Ibrahim zulfiqar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:14:55