次の方法で共有


プラグイン アーキテクチャ

プラグインは、特定の開発プロキシの動作を導入する開発プロキシに登録された .NET クラスです。 プラグインは、API の使用状況に関するリアルタイムのガイダンスを提供したり、API の動作をシミュレートしたり、複数の API 要求を分析したり、レポートを生成したりできます。 開発プロキシには、次の 3 種類のプラグインがあります。

  • 要求と応答をインターセプトし、それらを分析および変更できるプラグインをインターセプトする
  • 開発プロキシによって記録された要求で実行されるレポート プラグイン
  • レポート プラグインによって収集されたデータに基づいてレポートを生成するレポーター

ファイルにプラグインをdevproxyrc.json登録します。 ファイルには、読み込むプラグインとその構成の一覧が含まれています。

開発プロキシには プラグインのコレクション が付属しており、ニーズに合わせて開発プロキシ機能を拡張するための カスタム プラグインを作成 できます。

開発プロキシが起動すると、その構成ファイルで有効になっているプラグインが読み込まれます。 有効にするプラグインに応じて、Dev Proxy はガイダンスを提供したり、API の動作をシミュレートしたり、API 要求を分析したりできます。 以下のセクションでは、さまざまな種類のプラグインのしくみについて説明します。

プラグインのインターセプト

Dev Proxy は、配列内 urlsToWatch のいずれかの URL に一致する要求をインターセプトすると、構成ファイルに記載されている順序で各インターセプト プラグインを呼び出します。 各インターセプト プラグインは クラスから BaseProxyPlugin 継承され、次のイベントをサブスクライブできます。

  • BeforeRequest - Dev Proxy が要求をインターセプトしたときに発生します
  • BeforeResponse - Dev Proxy がサーバーから応答を受信した後に発生します
  • AfterResponse - Dev Proxy がクライアントに応答を送信した後に発生します

これらの各イベントについて、プラグインはイベント ハンドラーを定義できます。 ハンドラーでは、プラグインは要求と応答を分析し、必要に応じて変更できます。 ガイダンス メッセージを出力することもできます。 可能な機能を確認するには、 Dev Proxy で提供されるプラグインのコードを参照してください。

レポート プラグイン

開発プロキシを使用すると、API の要求と応答を記録できます。 通常、記録を使用して API の使用状況を報告したり、複数の API 要求を分析したりします。 レポート プラグインは クラスから BaseReportingPlugin 継承し、イベント ハンドラーを イベントに AfterRecordingStop 登録します。

記録を停止すると、Dev Proxy によってイベントが AfterRecordingStop 発生し、記録された要求と応答の一覧が登録されたイベント ハンドラーに引数として渡されます。 その後、レポート プラグインは、記録されたデータを分析し、レポート オブジェクトを生成できます。 レポート オブジェクトは、レポート プラグインによって定義される任意のオブジェクトです。 レポート プラグインは、 メソッドを呼び出してレポートを StoreReport 格納します。

重要

レポート プラグインは、Dev Proxy がメモリに格納するレポート オブジェクトを生成します。 これらのレポート オブジェクトをユーザーが読み取り可能なレポートに変換するには、Dev Proxy 構成ファイルで 1 つ以上のレポーターを有効にする必要があります。

記者

開発プロキシでは 、レポート プラグインによって生成されたレポート オブジェクトをユーザーが読み取り可能なレポートに変換するために、レポーターを使用します。 たとえば、 MarkdownReporter はレポート オブジェクトを Markdown ファイルに変換します。 レポーターは、 クラスから BaseReporter 継承する特別なプラグインです。 メソッドを GetReport 実装します。このメソッドは、レポート プラグインによって作成されたレポートを引数として受け取り、それを文字列に変換します。 その後、この文字列は、 などのパターンに PluginName_ReporterName.ReporterExtension 従ってディスクに保存されます ApiCenterOnboardingPlugin_MarkdownReporter.md

重要

レポーターはレポート プラグインによって生成されるレポート オブジェクトに依存するため、プラグインのレポート後に Dev Proxy 構成ファイルでレポート プラグインを有効にする必要があります。 プラグインを報告する前に有効にした場合、報告するデータは報告されません。