如何在 ANgular7 中传递 HttpUrl 中的字典对象?

How to pass Dictionary Objects In HttpUrl In ANgular7?

首先,如果我的问题很愚蠢,我想说对不起,我对此很困惑,因为我是 Angular 的新人。

在提问之前我想介绍一下我的代码,

这正是我调用的 get 函数 api,

  get(feepaid_report: FeepaidReport): Observable<FeepaidReport[]> {
    const options = this._utils.makeOptions(this._headers);
    return this._http.get(`${this._feepaidreportUrl}`, options).pipe(
      map((res: Response) => res.json()),
      tap(
        data => this.afterGetRequest(),
        error => { console.log(error); }
      ));
  }

在此代码中,_feepaidreportUrl 是我的 baseUrl,如下所示:

private _feepaidreportUrl = `${new Config().api}/report/feepaid_report/`;

我的 FeepaidReport 类型的参数 feepaid_report 带有这样的字典数据,

FeepaidReport: {paid_date: "2019-01-03", classes: "class12"}

我想在 url 中附加这个字典(即 feepaidreport 数据),这样我就可以像这样为后端传递 url:

baseurl/?paid_date=2019-01-03&classes=class12

希望你能理解我的问题

以上问题解决方法如下:

get(feepaid_report: FeepaidReport): Observable<FeepaidReport[]> {
  var url = `${this._feepaidreportUrl}/?`

   for(var key in feepaid_report){

      var val = feepaid_report[key];
       if (typeof(val) !=='undefined'){
        url = url + key + '=' + val + '&'
      }

    }



  const options = this._utils.makeOptions(this._headers);
    return this._http.get(url, options).pipe(
      map((res: Response) => res.json()),
      tap(
        data => this.afterGetRequest(),
        error => { console.log(error); }
      ));
  }