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

Nuxt3调用/api/users/index接口出现404错误,求排查原因

Nuxt3 API 404 问题排查方案

核心问题分析

你遇到的/api/users/index 404错误,大概率是对Nuxt3 API路由的路径规则理解有误,结合常见操作失误,以下是具体排查点:

1. API路由文件路径错误

Nuxt3的服务器API必须放在项目根目录下的server/api文件夹内,正确的文件结构应该是:

your-project/
├─ server/
│  └─ api/
│     └─ users/
│        └─ index.ts

如果你的index.ts放在其他目录(比如pages/api或自定义文件夹),Nuxt无法识别为API端点。

2. 请求路径错误

Nuxt3会将server/api/users/index.ts解析为该目录的默认路由,访问路径应为/api/users,而非/api/users/index。你需要修改前端fetch请求的路径:

// 错误写法
const { data } = await useFetch('/api/users/index')

// 正确写法
const { data } = await useFetch('/api/users')

3. API路由导出格式错误

server/api下的文件必须通过defineEventHandler导出处理函数,否则Nuxt无法识别为有效API。示例代码:

// server/api/users/index.ts
import { query } from '~/server/database'

export default defineEventHandler(async () => {
  try {
    const users = await query('SELECT * FROM users')
    return { code: 200, data: users }
  } catch (error) {
    return { code: 500, message: '数据库查询失败' }
  }
})

4. 数据库模块导入路径错误

如果你的database.ts放在server目录下,导入时要确保路径正确:

// 正确导入(基于项目根目录的别名)
import { query } from '~/server/database'

// 或相对路径写法
import { query } from '../database'

验证步骤

  1. 重启Nuxt开发服务器(避免缓存导致路由未更新)
  2. 直接在浏览器访问http://localhost:3000/api/users,确认是否返回数据
  3. 再次核对server/api目录结构是否符合要求

内容的提问来源于stack exchange,提问作者Gabriel Rogath

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:55:27