[英]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.