Next.js 13实验性路由API中GET请求的TypeScript类型声明
解决Next.js 13实验性路由API GET处理器避免
any类型的问题 直接用以下方式替换any类型:
- 定义路由参数类型:根据你的路由结构,创建接口描述
params的结构 - 指定正确的
request类型:使用Web标准的Request类型,TypeScript默认支持该类型
修改后的代码:
// 匹配路由参数结构的接口 interface RouteParams { id: string; } export async function GET(request: Request, { params }: { params: RouteParams }) { function getRandomInt(min: number, max: number) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min) + min); // 最大值不包含,最小值包含 } const youTubeId = params.id; // 后续业务逻辑... }
补充说明
HttpWebResponse是.NET生态的类型,和Next.js(Node.js/浏览器环境)完全不兼容,所以用它没用- 如果路由有其他参数,比如
app/[category]/[id]/route.ts,只需扩展RouteParams接口即可:interface RouteParams { category: string; id: string; }
内容的提问来源于stack exchange,提问作者Peter Kellner
相关产品推荐
相关产品推荐

