簡體   English   中英

默認響應類型獲取請求 angular

[英]Default response type get request angular

我有這樣的服務

getOrganizationsFile() {
return this.http.get(`${this.baseUrl}/export`, {
  responseType: 'blob',
  observe: 'response',
});

}

我在 TS 文件中稱它為

downloadOrganizationsFile() {
this.orgService.getOrganizationsFile().subscribe((res) => {
  CommonUtil.saveFile(res)
});

}

我保存響應並下載它

static saveFile(res: any) {
const fileName = res.headers.get('content-disposition').split(';')[1].split('=')[1].replace(/\"/g, '');
saveAs(res.body, fileName);

}

我的問題是在我將 res 作為參數傳遞的 saveFile 方法中,我不想使用“any”類型。

我從服務器得到的響應就像在此處輸入圖像描述

Angular 中是否有默認響應類型,例如“HttpResponse”,以便我可以為其添加類型而不是使用“任何”。

有一個默認的HttpResponse像這樣導入:

import {HttpResponse} from @angular/common/http

閱讀更多關於它的信息-> https://angular.io/api/common/http/HttpResponse

您想根據服務器端返回的內容創建自己的 model。

org-file.model.ts

export interface OrgFile {
  ...
}
getOrganizationsFile(): Observable<OrgFile> {
return this.http.get<OrgFile>(`${this.baseUrl}/export`, {
  responseType: 'blob',
  observe: 'response',
});
static saveFile(res: OrgFile) {
const fileName = res.headers.get('content-disposition').split(';')[1].split('=')[1].replace(/\"/g, '');
saveAs(res.body, fileName);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM