如何使用 httpClient 在 Angular7 中封装请求管理器



我是Angular的新手,我像这样使用httpClient:

 public getFocusAreaDataWithHttpClient() {
    this.http.get(Api.focusAreaApi).subscribe({
      next(response) {
        console.log("httpClient handle data");
        console.dir(response);
      },
      error(err) {
        console.error("Error: " + err);
      },
      complete() {
        console.log("Completed");
      }
    });
  }

我想封装一个服务(apiManager.service(提供一个公共方法,然后其他服务可以使用它来获取数据(需要传递apiurl(,我的期望是这样的:

export class ApiManager {
  constructor(private http: HttpClient) {}
// define request header , content-Type , auth token ,and some common config here
// and there should be 2 method - get and post
}

和其他服务可以像这样使用它:


apiManager.get(apiurl,parameters).subscript...
apiManager.post(apiurl,parameters).subscript...

但是我不知道如何封装它,如果有人可以给我一些演示来展示如何封装管理器类以提供数据获取功能,我将不胜感激。

在 Angular 中,这种类型的活动是通过服务完成的。

如果您使用 Angular CLI(您绝对应该使用(,只需在终端中键入 ng generate service api-manager,它将为您创建所有样板。

最新更新