如何在Next.js 13.2的Route Handlers中使用NextApiResponse助手?
Next.js 13.2 Route Handlers 按需ISR重新验证实现方案
在App Router的Route Handlers中,原Pages Router里res.revalidate()的功能需要通过next/cache提供的revalidatePath函数来实现,以下是重构后的完整代码:
import { revalidatePath } from 'next/cache'; import { NextResponse } from 'next/server'; export async function POST() { // 触发 /projects 路径的ISR重新验证 await revalidatePath('/projects'); // 返回成功响应 return NextResponse.json({ revalidated: true }); }
关键差异说明
- 替换API:用
revalidatePath替代res.revalidate,该函数需从next/cache模块导入 - 响应方式:通过
NextResponse.json()直接返回JSON响应,替代原res.status(200).json()的写法 - 功能等价:
revalidatePath('/projects')会触发对应路径的ISR缓存重新生成,和原代码效果完全一致
内容的提问来源于stack exchange,提问作者tcerqueira
相关产品推荐
相关产品推荐

