首页 > 解决方案 > 如何在 Next.js 的 API 路由中获取 URL 查询字符串?

问题描述

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

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

我需要这样做,因为这个 API 捕获了一组可能随时间变化的问题响应,并且我需要灵活地循环所有返回的无关答案,如果它是 10 或 100。

export default async function (req, res) {
    const {
        query: name ,
        query: town ,
    } = req
    // ...
}

标签: node.jsnext.js

解决方案


您可以将查询参数作为字符串访问,req.url其中包含包含查询参数的完整 URL。

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

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


或者,您也可以从对象中获取查询参数作为req.query对象,您可以随意操作它。

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

推荐阅读