如何在 Next.js 中获取 API 路由中的 URL 查询字符串?

Car*_*ers 6 node.js next.js

我有一个常量,它使用请求查询将 URL 参数的名称和城镇值拉入我的 API。

这很好用。我无法解决的是,我查看了很多文章,但我想从 URL 返回完整的参数集,无论是作为数组还是字符串。如果它包含 URL 路径,那就没有问题,理想情况下只是参数与符号分隔或任何其他方式。

我需要这样做,因为此 API 捕获一组可能随时间变化的问题响应,并且我需要灵活地循环返回所有不相关的答案(无论是 10 还是 100)。

export default async function (req, res) {
    const {
        query: name ,
        query: town ,
    } = req
    // ...
}
Run Code Online (Sandbox Code Playgroud)

jul*_*ves 7

您可以以字符串形式访问查询参数,其中req.url包含完整的 URL(包括查询参数)。

export default async function (req, res) {
    console.log(req.url) // Logs: '/api/info?name=john&town=london'
}
Run Code Online (Sandbox Code Playgroud)

有关req对象的更多详细信息请查看Node.js 官方文档


或者,您也可以从对象中获取作为对象的查询参数req.query,您可以根据需要对其进行操作。

export default async function (req, res) {
    console.log(req.query) // Logs: { name: 'john', town: 'london' }
}
Run Code Online (Sandbox Code Playgroud)