開發 Proxy 的技術參考

本節包含開發 Proxy 外掛程式和組態選項的技術參考。

我應該使用哪個外掛來報告和分析?

請參考以下表格,選擇符合你想進一步了解應用程式 API 流量需求的外掛。 產生報告的外掛需要報告器,例如 JsonReporter、 MarkdownReporter 或 PlainTextReporter,才能將報告儲存為檔案。 產生器插件會直接寫入輸出檔案。 Dev Proxy 會在你停止錄影後,在目前的工作目錄中建立輸出檔案。

Goal 插件 + 回報器 輸出檔案
盤點我的應用程式所呼叫的 URL UrlDiscoveryPlugin + JsonReporter UrlDiscoveryPlugin_JsonReporter.json
計數請求及其結果 ExecutionSummaryPlugin + MarkdownReporter 或 JsonReporter ExecutionSummaryPlugin_MarkdownReporter.md 或 ExecutionSummaryPlugin_JsonReporter.json
擷取完整請求與回應 HarGenerator插件 devproxy-yyyyMMddHHmmss.har
建立可重播的要求 HttpFileGeneratorPlugin requests_yyyyMMddHHmmss.http
從流量建立 API 規格 OpenApiSpecGeneratorPlugin 或 TypeSpecGeneratorPlugin host-port-yyyyMMddHHmmss.json (或 .yaml)每個 API 主機,或 name-yyyyMMddHHmmss.tsp 每個 API 主機
從流量建立模擬物件 MockGeneratorPlugin mocks-yyyyMMddHHmmss.json
找出我的應用程式所需的最低權限 MinimalPermissionsPlugin + MarkdownReporter 或 JsonReporter MinimalPermissionsPlugin_MarkdownReporter.md 或 MinimalPermissionsPlugin_JsonReporter.json

Note

如果已有同名的報告檔案存在,報表產生器會在檔名後加上時間戳,例如 UrlDiscoveryPlugin_JsonReporter_yyyyMMddHHmmss.json。 對於 Microsoft Graph API,請使用 GraphMinimalPermissionsPlugin 來查找最小權限。

外掛程式

使用任何 API 的外掛程式清單。

名稱 描述
AuthPlugin 使用 API 金鑰或 OAuth2 模擬驗證和授權。
DevToolsPlugin 公開開發代理訊息,以及 Chrome DevTools 中攔截的請求與回應的相關資訊。 支援 HTTP 與 STDIO。
CachingGuidancePlugin 顯示 Dev Proxy 在指定時間內攔截相同要求時所顯示的警告。
CrudApiPlugin 使用記憶體內部數據存放區模擬 CRUD API。
ExecutionSummaryPlugin 產生經由代理伺服器的請求摘要報告。
GenericRandomErrorPlugin 使請求失敗,從包含模擬錯誤的檔案中隨機選取錯誤。
HarGenerator插件 從截獲的請求和響應生成 HTTP 封存 (HAR) 檔案。
HttpFileGeneratorPlugin 從攔截的要求和回應產生 HTTP 檔案。
LanguageModelFailure外掛程式 模擬各種語言模型故障場景,以測試語言模型依賴應用程序的彈性。
LanguageModelRateLimiting外掛程式 藉由在可設定的時間範圍內追蹤提示和完成權杖耗用量,模擬語言模型 API 的權杖型速率限制。
LatencyPlugin 會在設定的範圍中隨機選擇毫秒數延遲回應。 支援 HTTP 與 STDIO。
MinimalCsomPermissionsPlugin 偵測呼叫記錄的 SharePoint Client-Side 物件模型 (CSOM) API 要求所需的最小許可權。
MinimalPermissionsPlugin 回傳呼叫已記錄的 API 請求所需的最小權限。 使用來自指定本機資料夾的 API 資訊。
MinimalPermissionsGuidancePlugin 比較傳送至 API 之 JWT 令牌中所使用的許可權,與記錄 Proxy 的要求所需的最低必要範圍,並顯示差異。
MockGeneratorPlugin 根據攔截的請求產生開發代理模擬。
MockRequestPlugin 可讓您使用 Dev 代理伺服器發送網路請求。
MockResponsePlugin 模擬回應。
MockStdioResponsePlugin 模擬基於 STDIO 的應用程式,例如 MCP 伺服器的回應。
ODataPagingGuidancePlugin 當 Proxy 使用先前未在其中一個攔截的響應中傳回的 URL 攔截 OData 分頁要求時,顯示警告。
OpenAIMockResponsePlugin 使用本機語言模型模擬來自 Azure OpenAI 和 OpenAI 的回應。
OpenAITelemetryPlugin 產生 OpenAI 相容 API 要求的遙測數據。
OpenAIUsageDebugging外掛程式 將 OpenAI API 使用指標記錄到 CSV 文件中,以進行調試和分析。
OpenApiSpecGeneratorPlugin 從攔截的要求和回應產生OpenAPI規格。
RateLimitingPlugin 模擬速率限制行為。
RetryAfterPlugin 模擬 API 在對請求進行節流後所傳送的Retry-After標頭。
重寫外掛程式 重寫要求。
TypeSpecGenerator外掛程式 從攔截的要求和回應產生 TypeSpec 檔案。
UrlDiscoveryPlugin 建立 Proxy 已攔截的 URL 清單。

Azure API 中心外掛程式

使用 Azure API 中心的外掛程式清單。

名稱 描述
ApiCenterMinimalPermissionsPlugin 檢查應用程式是否使用最少的許可權來呼叫 API。 使用來自指定 Azure API 中心實例的 API 資訊。
ApiCenterOnboardingPlugin 檢查應用程式中所使用的 API 是否已在指定的 Azure API 中心實例中註冊。
ApiCenterProductionVersionPlugin 檢查應用程式中所使用的 API 是否為在指定的 Azure API 中心實例中註冊之 API 的生產版本。

Microsoft Entra 外掛程式

使用 Microsoft Entra API 的外掛程式清單。

名稱 描述
EntraMockResponsePlugin 模擬 Microsoft Entra 的回應結果。

Microsoft Graph 外掛程式

使用 Microsoft 圖形 API 的外掛程式清單。

名稱 描述
GraphBetaSupportGuidancePlugin 當 Proxy 偵測到Microsoft Graph Beta 端點的要求時,會顯示警告。
GraphClientRequestIdGuidancePlugin 當向 Microsoft 圖形 API 發出請求時,如果不包含 client-request-id 標頭,則顯示提示。
GraphConnectorGuidancePlugin 顯示使用 Microsoft Graph 連接器的內容指引。
GraphMinimalPermissionsPlugin 傳回 proxy 所記錄的 Microsoft Graph 要求所需的最低限度的許可權清單。
GraphMinimalPermissionsGuidancePlugin 將傳送至 Microsoft Graph 的 JWT 令牌中所使用的許可權,與代理請求所需的最低範圍進行比對,並顯示差異。
GraphMockResponsePlugin 微软图形 API 的回應模擬。
GraphRandomErrorPlugin 對 Microsoft Graph 的請求因隨機錯誤而失敗。
GraphSdkGuidancePlugin 當代理攔截尚未由 Microsoft Graph SDK 發出的 Microsoft Graph 要求時顯示提示。
GraphSelectGuidancePlugin 當 Proxy 攔截對 Microsoft Graph API 的請求且請求中未包含 $select 查詢字串參數時,會顯示警告。
ODSPSearchGuidancePlugin 當開發 Proxy 偵測到 OneDrive 和 SharePoint 搜尋 API 的要求時,會顯示警告。

記者

產生不同格式報表的記者清單。

名稱 描述
JsonReporter 以 JSON 格式產生報表。
MarkdownReporter 以 Markdown 格式產生報表。
PlainTextReporter 以純文字格式產生報表。

組態

開發 Proxy 組態選項的參考。

名稱 描述
devproxyrc 用於開發代理伺服器的設定檔。
代理API 以程式設計方式與 Dev Proxy 互動的 API。
Proxy 設定 代理伺服器設定選項。