Angular 6转换组表单以获取请求查询参数

Angular 6转换组表单以获取请求查询参数,angular,rest,angular6,Angular,Rest,Angular6,我有一个问题,我想通过使用get请求Web API来获取一些信息,作为参数,我希望表单中的信息作为过滤器表单 所以请求很简单: filterEvents() { this.http .get(environment.apiUrl + 'events/GetFilteredAxmCardsId', { params: { filter: this.filterFormGroup.value } }) .subscribe(result => {

我有一个问题,我想通过使用get请求Web API来获取一些信息,作为参数,我希望表单中的信息作为过滤器表单

所以请求很简单:

  filterEvents() {
    this.http
      .get(environment.apiUrl + 'events/GetFilteredAxmCardsId', { params: { filter: this.filterFormGroup.value } })
      .subscribe(result => {
        this.axmCardIds = result.json() as number[];
      }, error => console.error(error));

    console.log(this.filterFormGroup.value);
  }
但在这里,我有一个问题,传递表单组值url看起来像

GetFilteredEvents?filter={"AxmCards":[9,7]}
当然,对象可以有更多的属性


看起来不太好,我可以手动设置参数,但这需要大量的工作和维护,所以有没有一种简单的方法来解析这样的对象以获取查询参数?

使用URL搜索参数:

import {URLSearchParams} from '@angular/http';

...

let params = new URLSearchParams();
for(let key in this.filterFormGroup.value){
    params = params.set(key, this.filterFormGroup.value[key]);
}
this.http
  .get(environment.apiUrl + 'events/GetFilteredAxmCardsId', { params })

使用URL搜索参数:

import {URLSearchParams} from '@angular/http';

...

let params = new URLSearchParams();
for(let key in this.filterFormGroup.value){
    params = params.set(key, this.filterFormGroup.value[key]);
}
this.http
  .get(environment.apiUrl + 'events/GetFilteredAxmCardsId', { params })