マイクロソフトはAPIシミュレーションコマンドラインツール DevProxyのバージョン0.24をリリースした。新バージョンでは、異なるOpenAPI仕様との互換性が改善され、日常的なタスクのためにいくつかの改良が加えられている。
DevProxy(以前はMicrosoft 365 Developer Proxyとして知られていた)は、膨大な数のAPIとネットワークの動作を再現することで、開発者がAPI関連のコードに耐障害性を追加するのを支援する。デフォルトでは、このツールは半分の確率で失敗するプロキシとして機能する。また、スロットリング、レート制限、レスポンスの遅いAPIのシミュレートも可能だ。特定のAPIに対するモックレスポンスの生成にも利用できる。ngrokのようなツール dev tunnels CLIと組み合わせることでクラウド呼び出しでどのようなメッセージが送信されているか理解するためのクラウドサービス通信の検査も行うことができる。
新しい改良点は、主にOpenAPIジェネレーターに集中している。DevProxyはインターセプトされたリクエストとレスポンスからOpenAPI仕様を生成できる。しかし、JSONフォーマットでOpenAPI v3標準を使ってのみ仕様をエクスポートする。
今回、生成されるOpenAPI仕様ファイルの出力に対してJSONまたはYAMLを指定できるようになった。これはDevProxyアプリケーションフォルダのplugin下のOpenApiSpecGeneratorPlugin設定ファイルによって制御される。このファイルのフォーマットは以下の通りだ:
{ "openApiSpecGeneratorPlugin": { "includeOptionsRequests": false, "specVersion": "v3_0", "specFormat": "Json" } }
specFormat
プロパティはJson
形式かYaml
形式を選択できる。specVersion
プロパティはOpenAPI標準をv3_0
とv2_0
の間から選択できる。
Microsoftエコシステムでは、Power PlatformコネクタはこれまでDevProxyではサポートされていなかったOpenAPI v2標準を使用している。新バージョンはPower Platform開発者がPower AppsとPower Automateフロー用のコネクタを作成することを支援する。
DevProxyを使用するには、開発者は設定ファイルでモックおよび変更するアプリケーションのURLを設定する必要がある。アプリケーションが実行時に多くのURLを呼び出す場合、これは面倒な作業となる。DevProxy 0.24では、ブラウザ(または任意のプロセス名やID)が行う接続を追跡可能にするプリセットが設定に追加されている。これらは設定ファイルに簡単にコピー&ペーストできるよう、テキストファイルにエクスポートされる。
バージョン0.24で追加されたもう1つの小さな機能は、キャプチャされた各リクエストのタイムスタンプをtime属性で出力することである。
最後に、開発者はDevProxyのバグを修正した。それは、対話的なコマンドラインで実行するのとは対照的に、スクリプトで実行すると例外を投げるというものである。設定ファイルを管理するためのVisual Studio Code拡張機能であるDev Proxy Toolkitはv0.16に更新され、新しいDevProxy設定ファイルのスキーマが適用されるようになった。
DevProxyはGitHub上のオープンソースプロジェクトだ。このバージョンの完全なリリースノートはサイトで入手できる。現在、21人のコントリビューターと50件のオープンイシューがある。プロジェクトは583回スター付けされている。