Angular で API プロキシを使用する方法の簡単な分析

青灯夜游
リリース: 2022-04-18 10:54:32
転載
2397 人が閲覧しました

この記事では、Angular で API プロキシを使用する方法を紹介し、プロキシ API ドッキングのトピックを説明するために angualr を使用する方法について説明します。

Angular で API プロキシを使用する方法の簡単な分析

フロントエンド開発者として、私たちはバックエンドとやり取りすることがよくありますが、ドッキング プロセスでは常にクロスドメインの問題に遭遇します。ソリューション?

この記事では、angualr を使用して、エージェント api のドッキングのトピックを説明します。 [関連チュートリアルの推奨事項: "angular チュートリアル"]

まず、クロスドメインとは何かを理解しましょう。

クロスドメイン

簡単な理解: リクエストが行われるとき、プロトコル、ドメイン名(IPアドレス) )、port3 つの部分現在のページの url の違いは、クロスドメインです。

私のサイト

https://jimmyarea.com を例として挙げます:

リクエストされたアドレスかどうかクロスドメインです理由jimmyarea.comYesプロトコルが異なりますjimmyarea.cn は、https://127.0 とは異なるアドレスです。 0.1:9000Yesアドレスとポート番号が異なります

##エージェント 現時点では、プロキシを使用して、さまざまな環境の

api

アドレスをローカルで共同デバッグできます。 まず、プロジェクトのルート ディレクトリに新しいファイル

proxy.conf.json

を作成します。 インターフェースリクエスト

https://jimmyarea.com/api/public/article?page=-1

を例として取り上げます: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">{ &quot;/api&quot;: { &quot;target&quot;: &quot;https://jimmyarea.com/&quot;, &quot;changeOrigin&quot;: true, &quot;secure&quot;: false, &quot;pathRewrite&quot;: { &quot;^/api&quot;: &quot;/api&quot; } } }</pre><div class="contentsignin">ログイン後にコピー</div></div>

target

はプロキシのアドレス、pathRewrite はプロキシのプレフィックスの書き換えです。 プロキシ ファイルの作成が完了したら、プロキシを有効にする必要があります。

package.json

にコマンド ラインを 1 つ追加し、開発環境でのデバッグに使用されることを示します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">&quot;script&quot;: { &quot;dev&quot;: &quot;ng serve --proxy-config=proxy.conf.json&quot;, }</pre><div class="contentsignin">ログイン後にコピー</div></div>実行

npm run dev

プロジェクトを開始し、エージェントを導入します。プロキシ ファイルが変更されるたびに、コマンド ラインを再起動する必要があります~

検証新しい

記事##を作成します# Service、

article.service.ts ファイルの内容は次のとおりです:

import { Injectable } from &#39;@angular/core&#39;;
// http 客户端
import { HttpClient } from &#39;@angular/common/http&#39;

@Injectable({
  providedIn: &#39;root&#39;
})

export class ArticleService {

  constructor(
    private http: HttpClient
  ) { }
   
  // 获取文章列表
  getArticleList() {
    return this.http.get(&#39;/api/public/article&#39;, {
      // 返回类型
      responseType: &#39;json&#39;,
      // 请求的参数
      params: {
        page: -1
      }
    })
  }

}
ログイン後にコピー
上記のリクエスト、ページ上のアドレスは http://localhost:4200/ api/public/article ?page=-1

、実際にはアドレス

https://jimmyarea.com/api/public/article?page=-1 にアクセスします。 user-list.component.ts で呼び出して確認できます:

ngOnInit():void {
  this.articleService.getArticleList().subscribe({
    next: (data: any) => {
      console.log(data)
    },
    error: () => {}
  })
  // ...
}
ログイン後にコピー
プログラムの実行後、コンソールに次のネットワーク リクエストが表示されます:

Angular で API プロキシを使用する方法の簡単な分析Good Job, Bro.

バックエンドによって指定されたアドレスを完全にプロキシしてデバッグできます。プロキシは複数のアドレスをプロキシできます。読者は、検証するために複数のプロキシ アドレスを書き込むことができます~

[終了]

プログラミング関連の知識の詳細については、

プログラミング入門

をご覧ください。 !

以上がAngular で API プロキシを使用する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!