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

Next.js 15自定义API路由部署/构建时出现类型错误

问题解决:NextJS 15 API路由Build时报参数类型错误

NextJS 15对App Router下的API路由参数类型校验更严格,你用Record<string, string>定义params的方式不符合build时的类型检查要求,而dev模式下校验宽松所以没报错。

直接修改params的类型定义即可,因为你的路由是[projectId],所以params里明确只有projectId这个字符串字段,把类型改成具体结构:

修改后的完整代码:

import { NextRequest, NextResponse } from 'next/server';
import { supabase } from '@/lib/supabase';

export async function GET(
  request: NextRequest,
  { params }: { params: { projectId: string } }
) {
  try {
    const projectId = params.projectId;

    const { data, error } = await supabase
      .from('activity_log')
      .select('*')
      .eq('project_id', projectId)
      .order('timestamp', { ascending: false });

    if (error) throw error;

    return NextResponse.json({ activities: data });
  } catch (error) {
    return NextResponse.json({ error: 'Failed to fetch activity log' }, { status: 500 });
  }
}

这样修改后,build时的类型错误就会消失。原理是NextJS 15要求API路由的params类型必须和路由中定义的动态参数完全匹配,不能用宽泛的Record类型。

内容的提问来源于stack exchange,提问作者Up North Media

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:20:59