无法使用角度4

时间:2018-04-17 10:18:11

标签: angular httpclient angular4-httpclient

我正在尝试发布一些数据,并且我将访问令牌作为查询字符串传递。我将从服务器获得blob响应。我使用了以下代码:

public issueId(asset: Type): Observable<Blob> {
    let urlSearchParams = new HttpParams().set('access_token', this.cookieService.get('access_token'));
    console.log('Entered DataService issueID');
    return this.httpClient.post('http://localhost:3000/api/system/identities/issue', asset, {urlSearchParams},{responseType: "blob"});
}

我收到错误“预期2-3个参数,但得到4”。我正在使用角度4.资产是邮寄请求的主体。

2 个答案:

答案 0 :(得分:1)

根据 post文档,您必须执行以下操作

put(url: url, body: data, 
 options: {params: urlSearchParams,responseType: "blob"});

aso您需要传递responsetype ans params作为选项的一部分

答案 1 :(得分:0)

您正在发送带有请求的多个可选对象。像这样更改您的请求。

public issueId(asset: Type): Observable<Blob> {
    let urlSearchParams = new HttpParams().set('access_token', this.cookieService.get('access_token'));
    console.log('Entered DataService issueID');
    return this.httpClient.post('http://localhost:3000/api/system/identities/issue', asset, { params: urlSearchParams, responseType: "blob"});
}