Как передать объекты словаря в HttpUrl в ANgular7? - PullRequest
0 голосов
/ 26 января 2019

Прежде всего, я хочу извиниться за это, если мой вопрос глупый, я смущен этим, потому что я новичок в 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/`;

И мой аргумент feepaid_report типа FeepaidReport имеет такие данные словаря, как этот,

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

И я хочу добавить этот словарь (т.е. данные feepaidreport) в URL, чтобы я мог передать URL для бэкэнда следующим образом:

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

Надеюсь, вы поймете мой вопрос

1 Ответ

0 голосов
/ 27 января 2019

Вышеуказанная проблема решается следующим образом:

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); }
      ));
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...