0

我正在尝试使用 HttpParameterCodec 在 Angular 中编码(“application/x-www-form-urlencoded”)一个对象。该对象有一个字段作为对象,该对象又具有字符串数组。对象结构如下所述。

export class SearchRequest {id: string = undefined;partnerIds: PartnerIds = undefined;}


export class PartnerIds { partnerId: string[] = undefined;}

现在,当我尝试使用下面提到的实用程序代码(适用于普通对象)对该对象进行编码时,由于其中包含字符串列表,它的格式不正确。

generateQueryParams(searchRequest) {
    let httpParams: HttpParams = new HttpParams({encoder: new CustomEncoderComponent()});
    Object.keys(searchRequest).forEach(key => {
      httpParams = httpParams.append(key, searchRequest[key]);
    });

    return httpParams;
}

我尝试使用以下查询参数格式,但它不起作用。

1.   id=123&partnerIds=XYZ&partnerIds=ABC
2.   id=123&partnerId[]=XYZ&partnerId[]=ABC
3.   id=123&partnerId=XYZ&partnerId=ABC

请建议如何在 HttpClient 的查询字符串中传递此(SearchRequest)对象?

4

0 回答 0