RxJS HTTP-Client: not JSON 的响应类型
RxJS HTTP-Client: response type for not JSON
我不确定这里有什么问题。我想发出一个 HTTP 请求来响应二进制数据(例如文件下载)而不是 JSON.
import {HttpClient, HttpHeaders, HttpParams} from "@angular/common/http";
这些行没问题 - 但需要 JSON.
let x = this.http.get <any> ("http://myhost", { responseType : 'json' });
let y = this.http.get <any> ("http://myhost");
但我需要将响应定义为不 JSON。
let z = this.http.get <any> ("http://myhost", { responseType : 'string' });
这里我遇到了问题。我也试过 'blob'。
我总是在编译时遇到打字稿错误。
Argument of type '{ responseType: "string"; }' is not assignable to parameter of type '{ headers?: HttpHeaders | { [header: string]: string | string[]; }; observe?: "body"; params?: Ht...'.
Types of property 'responseType' are incompatible.
Type '"string"' is not assignable to type '"json"'.
如果数据是一个文件,请使用blob
,但您需要删除通用参数。使用:
his.http.get("http://myhost", { responseType : 'blob' });
采用泛型的版本仅适用于 JSON,因为它旨在解析响应
我不确定这里有什么问题。我想发出一个 HTTP 请求来响应二进制数据(例如文件下载)而不是 JSON.
import {HttpClient, HttpHeaders, HttpParams} from "@angular/common/http";
这些行没问题 - 但需要 JSON.
let x = this.http.get <any> ("http://myhost", { responseType : 'json' });
let y = this.http.get <any> ("http://myhost");
但我需要将响应定义为不 JSON。
let z = this.http.get <any> ("http://myhost", { responseType : 'string' });
这里我遇到了问题。我也试过 'blob'。 我总是在编译时遇到打字稿错误。
Argument of type '{ responseType: "string"; }' is not assignable to parameter of type '{ headers?: HttpHeaders | { [header: string]: string | string[]; }; observe?: "body"; params?: Ht...'. Types of property 'responseType' are incompatible. Type '"string"' is not assignable to type '"json"'.
如果数据是一个文件,请使用blob
,但您需要删除通用参数。使用:
his.http.get("http://myhost", { responseType : 'blob' });
采用泛型的版本仅适用于 JSON,因为它旨在解析响应