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

用户注册接口POST请求404错误排查求助(附全栈代码)

注册接口404错误排查方案

问题现象

注册用户时触发404错误,请求地址为 POST http://localhost:5173/api/v1/user/register,同时返回AxiosError:AxiosError {message: 'Request failed with status code 404', name: 'AxiosError', code: 'ERR_BAD_REQUEST'...}

排查与解决步骤

1. 修复Vite代理配置(核心问题)

前端使用Vite构建工具,package.json中的proxy配置是Create React App的写法,Vite不支持该配置方式,需在vite.config.js中重新配置代理:

在client目录下创建/修改vite.config.js:

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react()],
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:8070',
        changeOrigin: true,
      },
    },
  },
})

修改后重启前端开发服务。

2. 确认后端服务状态

检查后端是否在8070端口正常启动:

  • 执行npm run server启动后端
  • 查看控制台是否输出Server running in xxx mode on port 8070日志,确保服务无启动报错

3. 验证请求地址正确性

若代理配置未生效,可临时在前端请求中直接使用后端完整地址测试:

// 将请求地址改为
axios.post('http://localhost:8070/api/v1/user/register', formData)

如果此方式能正常请求,说明代理配置未生效,回到步骤1确认配置。

4. 核对后端路由挂载

检查server.js中的路由挂载逻辑:

app.use('/api/v1/user', require('./routes/userRoutes'))

该配置将userRoutes中的路由拼接为/api/v1/user/register,路由路径配置正确,无需修改。

5. 检查文件路径匹配

根据文件夹结构,确认server.js中require('./routes/userRoutes')对应的文件是否存在(根目录routes文件夹下的userRoutes.js),避免文件路径错误导致路由未加载。

额外优化点

  • userController.js中模型导入存在文件名错误:const userModel = require('../models/userModels'),应改为../models/userModel(对应实际文件userModel.js),否则会触发500错误
  • loginController为空函数,后续需补充实现逻辑

内容的提问来源于stack exchange,提问作者Mustafa Mulla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 01:25:02