74

ドキュメントには、HTTP リクエストのベース API URL を設定する方法が見つかりませんでした。Angular HttpClient でこれを行うことは可能ですか?

4

7 に答える 7

9

構成可能な baseUrl を持つ HttpClient サブクラスを作成しないのはなぜですか? そうすれば、アプリケーションが複数のサービスと通信する必要がある場合、それぞれに異なるサブクラスを使用するか、単一のサブクラスの複数のインスタンスをそれぞれ異なる構成で作成できます。

@Injectable()
export class ApiHttpClient extends HttpClient {
  public baseUrl: string;

  public constructor(handler: HttpHandler) {
    super(handler);

    // Get base url from wherever you like, or provision ApiHttpClient in your AppComponent or some other high level
    // component and set the baseUrl there.
    this.baseUrl = '/api/';
  }

  public get(url: string, options?: Object): Observable<any> {
    url = this.baseUrl + url;
    return super.get(url, options);
  }
}
于 2018-09-06T09:18:31.913 に答える
2

これを行うデフォルトの方法はないと思います。HttpService を実行すると、内部でデフォルト URL のプロパティを定義し、プロパティ URL で http.get などを呼び出すメソッドを作成できます。次に、HttpClient の代わりに HttpService を注入します。

于 2017-08-17T12:55:04.473 に答える