【问题标题】:How to get route parameters from Nuxt 3 server如何从 Nuxt 3 服务器获取路由参数
【发布时间】:2021-12-12 05:57:32
【问题描述】:

我有以下 API URL 之一。归根结底,对于我的用例,我必须使用这些 URL 中的哪一个并不重要,但目前都不起作用。

http://localhost:3000/api/track/TRACKID

或

http://localhost:3000/api/track?id=TRACKID

如何在 API 代码中获得 TRACKID?以下代码生成undefined。

export default async (req: IncomingMessage, res: ServerResponse) => {
    console.log(req.id);
};

我尝试通过以下方式为第一个 URL 设置文件,但同样失败。它只是导致 URL 为 http://localhost:3000/api/track/[id]

PROJECT/server/api/track/[id].ts

对于第二个 URL,我使用了以下设置。

PROJECT/server/api/track.ts

【问题讨论】:

标签: typescript server nuxt.js nuxtjs3


【解决方案1】:
import * as url from "url";

const params = url.parse(req.url as string, true).query;
const {id} = params

【讨论】:

  • 欢迎来到 Stack Overflow,感谢您提供答案。您能否编辑您的答案以包括对您的代码的解释?这将有助于未来的读者更好地了解正在发生的事情,尤其是那些刚接触该语言并难以理解概念的社区成员。
  • 这是在 nuxt 3 中执行此操作的“标准”方式吗?我在官方文档上找不到任何东西
【解决方案2】:
import { useQuery } from 'h3'
export default (req, res) => {
    const { id } = useQuery(req)
}

https://github.com/unjs/h3 是将 api 放在一起的服务器。

【讨论】:

    猜你喜欢
    • 2017-01-22
    • 2022-11-10
    • 2021-03-24
    • 2018-03-30
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多