プラグイン アーキテクチャ
プラグインは、特定の開発プロキシの動作を導入する開発プロキシに登録された .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 構成ファイルでレポート プラグインを有効にする必要があります。 プラグインを報告する前に有効にした場合、報告するデータは報告されません。
Dev Proxy