.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"
}
実践的な使用方法
変数定義: 共通設定を再利用可能
http@host = http://localhost:8080 @token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
リクエスト実行:
http### 認証付きリクエスト GET {{host}}/secure-data Authorization: Bearer {{token}}
結果表示: リクエスト下部にレスポンスが表示される
主要な機能と書式
機能 | 書式例 | 説明 |
---|---|---|
基本リクエスト | GET http://example.com | HTTPメソッド+URL |
ヘッダー追加 | Content-Type: application/json | リクエストヘッダー |
ボディ送信 | {"key":"value"} | 空行の後にJSONを記述 |
変数定義 | @variable = value | 再利用可能な値 |
グループ化 | ### グループ名 | リクエストのセクション分け |
http
### 商品検索例
@search_endpoint = {{host}}/products/search
@query = ノートパソコン
GET {{search_endpoint}}?query={{query}}
想定されるエラーと解決策
問題: 「Send Request」リンクが表示されない
解決方法:
- Visual Studio 2022のバージョンが17.8以降か確認
- ファイル拡張子が
.http
であることを確認 - プロジェクトをビルドしてサーバー起動状態に
問題: 変数が展開されない
解決方法:
http
### 正しい変数使用法
@base_url = http://localhost:5000
GET {{base_url}}/api/items # 波括弧が必須
他ツールとの比較
機能 | Visual Studio .http | Postman | curl |
---|---|---|---|
統合環境 | ◎ | △(別アプリ) | × |
セットアップ | 不要 | 必要 | 必要 |
構成管理 | プロジェクト直下 | クラウド/ローカル | 手動 |
チーム共有 | ソース管理可能 | 専用機能 | 困難 |
💡 実践アドバイス:
Api.http.japanesetest
のようなバックアップファイルが生成されることがありますが、本体の.http
ファイルのみが機能します。不要ファイルはソース管理から除外してください。
公式ドキュメント
詳細はMicrosoft公式ガイドを参照:
ASP.NET Core での HTTP ファイルを使用した API テスト
api.http
は.NET 8開発環境を離れることなくAPIテストを完結させる効率的なソリューションです。プロジェクトに組み込まれた状態で提供されるため、追加ツールのインストールやコンテキストスイッチングが不要となり、開発フローをシームレスに保ちます。