Nestjs httpModule url 参数作为对象

Nestjs httpModule url params as object

有没有办法在 nestjs 中将 url 参数传递给 httpService?我正在尝试以更易于访问的方式编写此 URL 并且不想使用 Axios 因为 nest 有一个 HTTPModule.

这是我目前拥有的,它工作正常但看起来很糟糕:

const response = await this.httpService
      .get(`https://api.github.com/users/${username}/repos?per_page=5&sort=created:asc&client_id=${process.env.GITHUB_ID}&client_secret=${process.env.GITHUB_SECRET}`,)
      .toPromise();

我找到了 angular 的语法,但它不起作用:

const response = await this.httpService.get(
      `https://api.github.com/users/${username}/repos`,
      params: {
        per_page: 5,
        sort: created:asc,
        client_id: process.env.GITHUB_ID,
        client_secret: process.env.GITHUB_SECRET
      }).toPromise();

必须有办法让它看起来更好。

您缺少选项对象的左右大括号。

const response = await this.httpService.get(
  `https://api.github.com/users/${username}/repos`,
  {
    params: {
      per_page: 5,
      sort: created:asc,
      client_id: process.env.GITHUB_ID,
      client_secret: process.env.GITHUB_SECRET
    }
  }
).toPromise();

否则,您基本上是在说使用 { per_page: 5, sort: created:asc, client_id: process.env.GITHUB_ID, client_secret: process.env.GITHUB_SECRET } 类型的变量 params(我希望 Typescript 也会抱怨在这里使用值作为类型)