Nitro v3 API Development
Core Dependencies
pnpm add nitro
Import Standards [CRITICAL]
// 必须从 nitro/h3 导入
import { defineHandler, HTTPError, readBody, getQuery, getRouterParam } from "nitro/h3";
import type { H3Event } from "nitro/h3";
// 使用项目工具函数
import { defineApiHandler, badRequest, notFound } from "../utils/api";
Basic API Template
/**
* @file 用户列表接口
* @description GET /users
*/
import { defineApiHandler } from "../utils/api";
export default defineApiHandler(
async () => {
return await db.select().from(usersTable);
},
{ errorMessage: "获取用户列表失败" },
);
Common Mistake Comparison
| Incorrect Usage |
Correct Usage |
import { ... } from "h3" |
import { ... } from "nitro/h3" |
import { createError } from "..." |
import { HTTPError } from "nitro/h3" |
defineEventHandler |
defineHandler or defineApiHandler |
createError({ statusCode: 400 }) |
new HTTPError({ status: 400, ... }) |
Detailed Reference