Next.js动态路由API接口返回404错误,请求排查问题
问题排查与解决
核心问题:Next.js App Router 路由文件命名规则错误
你当前的文件结构不符合Next.js App Router的动态路由规范,导致服务器无法识别/api/user/12这个路由:
错误的文件结构
app| |->api| |->user| |->[userId].js
正确的文件结构
app| |->api| |->user| |->[userId]| |->route.js
修正后的route.js代码
export function GET(req) { return new Response("Hii") }
原因说明
在Next.js的App Router模式下:
- 动态参数路由需要通过命名为
[参数名]的文件夹来定义,而不是直接用参数命名的js文件 - 路由的HTTP方法处理逻辑必须放在对应路由文件夹下的
route.js文件中,服务器才会识别并处理对应的请求
调整后再请求localhost:3000/api/user/12就能正常返回内容了。
内容的提问来源于stack exchange,提问作者Frecoder
相关产品推荐
相关产品推荐

