如何在HttpClient的查询字符串中传递带有数组的编码“ application / x-www-form-urlencoded”对象?

问题描述

我正在尝试使用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)对象?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...