.NET 8 中的 Api.http 文件
问题说明
在.NET 8项目中创建ASP.NET Core应用程序时,你会注意到项目中自动添加了一个名为Api.http
的文件。该文件是.NET 8的新增功能,用于简化API测试过程,其作用包括:
- 替代常规API测试工具(如Postman)
- 提供轻量级的内置HTTP请求定义
- 直接集成到开发环境中减少工具切换
本文解释此文件的作用、工作原理及最佳实践用法,助你高效测试API端点。
Api.http 文件详解
核心功能
.http
文件是Visual Studio 2022+为ASP.NET Core API项目提供的专用测试工具:
- 无需额外配置:创建项目时自动生成
- 实时测试:直接在VS中发送请求并查看响应
- 多请求管理:单个文件中可定义多个API端点测试
- 环境变量支持:灵活管理不同环境的配置
工作原理
http
### Sample GET request
GET https://localhost:7094/api/todos/
Accept: application/json
使用时:
.http
文件中定义HTTP请求语法- 点击请求上方的
Send Request
链接 - 在Visual Studio内即时显示响应结果
完整使用指南
基础用法
http
### 获取所有待办事项
GET https://localhost:7094/api/todos/
Accept: application/json
### 创建新待办事项
POST https://localhost:7094/api/todos/
Content-Type: application/json
{
"title": "Buy groceries",
"completed": false
}
快捷操作
- 每个请求前用
###
添加注释标题 - 右键点击
.http
文件选择Set as Default Request File
设为默认
环境变量配置
http
@baseUrl = https://localhost:7094
@token = eyJhbGciOiJIUzI1N...
### 带认证的请求
GET {{baseUrl}}/api/users/
Authorization: Bearer {{token}}
重要注意事项
- 确保应用正在运行(
dotnet run
) - 不同环境的URL/凭证使用变量管理
- 同步更新文件中的端口号与实际端口一致
高级功能
文件上传测试
httpPOST https://localhost:7094/api/upload Content-Type: multipart/form-data; boundary=boundary --boundary Content-Disposition: form-data; name="file"; filename="demo.jpg" < ./demo.jpg --boundary--
响应处理
http@userId = {{login.response.headers.Location}} ### 使用变量提取值 GET {{baseUrl}}/api/users/{{userId}}
常见问题解决
请求无响应如何排查
- 确认应用运行状态
- 检查HTTPS证书有效性
- 确保端口号与启动URL匹配
文件未出现怎么做?
在项目中手动添加:
- 右键项目 > 添加新项
- 搜索 "Http File"
- 命名为
Api.http
官方资源推荐
- Microsoft文档:HTTP文件测试
- VS版本要求:仅支持Visual Studio 2022 v17.5+
最佳实践建议
团队协作:
.http
文件提交至版本控制测试集管理:
http### 用户API测试集 # @name login POST {{baseUrl}}/login Content-Type: application/json { "username": "test", "password": "pwd" } # 使用登录令牌 GET {{baseUrl}}/profile Authorization: Bearer {{login.response.headers.Authorization}}
结合CI/CD:作为自动化测试的补充用例
此工具可替代常规API客户端75%的操作需求,显著提升开发效率与体验。