我能够传递一个参数并从下一个 js api 获取结果
文档非常有帮助 - https://nextjs.org/docs/api-routes/dynamic-api-routes
/api/posts/[postId].js
上述方法有效,但是否可以选择传递另一个参数,如下所示?/api/posts/[postId][userId].js
文件夹名称当前为 [postId]。我尝试将其重命名为 [postId][userId]我的 api 代码是
let postVotes = await req.db.collection('votesPosts').count({"post":req.query.postId,"user":req.query.userId})
最佳答案
通常,路由不会处理 URL 路径的单个段中的多个参数。每个段只能有一个参数:
/api/entity/{param1}/{param2}/sub/{param3}
现在在 Next JS 中,您也需要将它们分开以获得 2 个带参数的段:/api/posts/[postId]/[userId]
这将解析为 2 个可能的文件:/api/posts/postId]/[userId]/index.js
如果您使用参数目录+索引文件执行此操作,或者/api/posts/postId]/[userId].js
如果您使用参数文件执行此操作。使用目录 + 索引文件执行此操作允许您添加固定段,例如:
/api/posts/postId]/[userId]/popular.js
/api/posts/postId]/[userId]/private.js
然后,您可以像对 2 个参数一样进行 API 调用。
关于javascript - Next js - 如何在 url 中为 api 传递多个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63239462/