以下の内容はhttps://aadojo.alterbooth.com/entry/2023/12/14/090000より取得しました。


【Visual Studio】エンドポイントエクスプローラーを使ってWebAPIをテストする

こんにちは!オルターブースのはっしーです!
この記事は Infocom Advent Calendar 2023 の14日目の記事です。

qiita.com

先月 .NET Conf 2023が開催されました。 イベントの中でVisual Studioの「エンドポイント エクスプローラー」という新しい機能が紹介されていたので使ってみたいと思います。 www.dotnetconf.net

エンドポイントエクスプローラーはHTTP 要求をテストするためのVisual Studio 2022 のツール ウィンドウです。

ASP.NET Core Web APIアプリを作成する

事前準備

事前準備として以下のコンポーネントが必要です。

  • Visual Studio 2022 バージョン17.6 以上
  • ASP.NET および Web 開発ワークロード

プロジェクトの作成

  • Visual Studioを開きます。
  • 「新しいプロジェクトの作成」を選択します。

  • ASP.NET Core Web APIテンプレートを選択します。

  • 任意のプロジェクト名と保存先を設定します。

  • 今回はMinimal APIを使用するので
    「コントローラーを使用する」のチェックを外し、作成します。

  • プロジェクトが作成されます。Ctrl + F5 キーを押して、デバッガーなしで実行します。
    ※Visual Studioにダイアログが表示されることがあります。 IIS Express SSL 証明書、開発証明書を信頼する場合はそれぞれ「はい」を選択してください。

  • Swaggerの画面が表示され、HTTP GET エンドポイントが1つあることが確認できます。
    確認ができたら、デバックを停止します。

エンドポイントエクスプローラーを使ってみる

エンドポイントエクスプローラーウィンドウを表示する

  • Visual Studioで「表示」>「その他のウィンドウ」>「エンドポイントエクスプローラー」の順に選択します。

  • エンドポイントエクスプローラータブが表示され、HTTP GET エンドポイントが1つあることが確認できます。

リクエストを送信する

  • エンドポイントを右クリックして、「要求の生成」を選択します。

  • SampleApiApp.httpという新しいファイルがプロジェクト フォルダー内に作成されます。

  • SampleApiApp.httpの内容についてはこちらを参考にしてください。

Visual Studio 2022 で .http ファイルを使う | Microsoft Learn

  • 「要求の送信」を選択し、リクエストを送信します。

  • 以下のようにレスポンスを確認することができます。

  • ちなみにアプリを起動していない状態だとエラーになります

ユーザーシークレットを設定する

  • APIによっては、リクエストヘッダーにAPIKeyなどを含めたい場合があります。
  • そのようなときは、プロジェクトルートに以下の次のファイルを作成します。
    http-client.env.json
{
  "dev": {
    "apiKeyDev": {
      "provider": "AspnetUserSecrets",
      "secretName": "config:apiKey"
    }
  }
}
  • 次に、ソリューションエクスプローラーでプロジェクトを右クリック、「ユーザーシークレットの管理」を選択します。

  • secrets.jsonファイルが開かれるので、次のように編集します。
    secrets.json

{
  "config": {
    "apiKey":  "aaaa"
  }
}
  • リクエストにヘッダーを追加します。
    SampleApiApp.http
GET {{SampleApiApp_HostAddress}}/weatherforecast/
## 追加
X-ApiKey: {{apiKeyDev}}
##
  • 一度SampleApiApp.httpファイルを閉じ、再度開きます。
    右上のプルダウンメニューで環境を選ぶことができます。「dev」を選択します。

  • 再度リクエストを送信します。
    リクエストヘッダーにAPIKeyが設定できていることが確認できます。

まとめ

以下の点が良いと思いました。

  • 使い慣れたVisual Studioで作業できる点
  • ツールを移動することなく作業できる点
  • テスト用のリクエストをプロジェクトコード内の.httpファイルで管理できる点

積極的に使っていきたいと思います。
最後まで読んでいただきありがとうございました。

参考資料

Visual Studio 2022 で .http ファイルを使う | Microsoft Learn チュートリアル: ASP.NET Core を使って最小 API を作成する | Microsoft Learn ASP.NET Core での開発におけるアプリ シークレットの安全な保存 | Microsoft Learn Visual Studio Updates for .NET Devs | .NET Conf 2023 - YouTube


サービス一覧 www.alterbooth.com cloudpointer.tech www.alterbooth.com




以上の内容はhttps://aadojo.alterbooth.com/entry/2023/12/14/090000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14