Skip to content

.NET 8のApi.httpファイル

.NET 8でASP.NET Coreプロジェクトを作成すると、プロジェクトルートにApi.httpファイルが自動生成されます。このファイルはVisual Studio 2022に統合されたHTTPリクエストテストツールとして機能し、APIエンドポイントのテストを直接IDE内で行えるよう設計されています。

Api.httpファイルの目的と仕組み

  • 簡易APIテスト環境: POST/GET/PUT/DELETEリクエストをコード編集なしで送信可能
  • 即時レスポンス表示: ステータスコード・ヘッダー・ボディをエディタ内で直接確認
  • 開発効率向上: 外部ツール(Postman等)への切り替えが不要
  • プロジェクト固有設定: ローカルホストのURLや認証トークンなどの変数を定義可能
http
# 基本構造の例(Visual Studio 2022で解釈)
@Api_HostAddress = http://localhost:5000

### エンドポイント1テスト
GET {{Api_HostAddress}}/weatherforecast
Accept: application/json

### エンドポイント2テスト
POST {{Api_HostAddress}}/users
Content-Type: application/json

{
  "name": "新規ユーザー",
  "email": "user@example.jp"
}

実践的な使用方法

  1. 変数定義: 共通設定を再利用可能

    http
    @host = http://localhost:8080
    @token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
  2. リクエスト実行:

    http
    ### 認証付きリクエスト
    GET {{host}}/secure-data
    Authorization: Bearer {{token}}
  3. 結果表示: リクエスト下部にレスポンスが表示される
    レスポンス表示イメージ

主要な機能と書式

機能書式例説明
基本リクエストGET http://example.comHTTPメソッド+URL
ヘッダー追加Content-Type: application/jsonリクエストヘッダー
ボディ送信{"key":"value"}空行の後にJSONを記述
変数定義@variable = value再利用可能な値
グループ化### グループ名リクエストのセクション分け
http
### 商品検索例
@search_endpoint = {{host}}/products/search
@query = ノートパソコン

GET {{search_endpoint}}?query={{query}}

想定されるエラーと解決策

問題: 「Send Request」リンクが表示されない
解決方法:

  1. Visual Studio 2022のバージョンが17.8以降か確認
  2. ファイル拡張子が.httpであることを確認
  3. プロジェクトをビルドしてサーバー起動状態に

問題: 変数が展開されない
解決方法:

http
### 正しい変数使用法
@base_url = http://localhost:5000
GET {{base_url}}/api/items  # 波括弧が必須

他ツールとの比較

機能Visual Studio .httpPostmancurl
統合環境△(別アプリ)×
セットアップ不要必要必要
構成管理プロジェクト直下クラウド/ローカル手動
チーム共有ソース管理可能専用機能困難

💡 実践アドバイス: Api.http.japanesetestのようなバックアップファイルが生成されることがありますが、本体の.httpファイルのみが機能します。不要ファイルはソース管理から除外してください。

公式ドキュメント

詳細はMicrosoft公式ガイドを参照:
ASP.NET Core での HTTP ファイルを使用した API テスト

api.httpは.NET 8開発環境を離れることなくAPIテストを完結させる効率的なソリューションです。プロジェクトに組み込まれた状態で提供されるため、追加ツールのインストールやコンテキストスイッチングが不要となり、開発フローをシームレスに保ちます。