Visual Studio 2022 文件编辑器提供了一种直接在 Visual Studio 上测试 Web API 的简单方法,而无需切换到其他工具。在本文中,我介绍了如何使用 .http 文件发送 HTTP 请求。.http
文件编辑器提供了一个 UI,可用于发送 HTTP 请求并在 Visual Studio 中可视化请求/响应详细信息。此功能存在于 Visual Studio 2022 版本 17.6 及更高版本中。.http
出于演示目的,我使用 Visual Studio 2022 创建了一个 ASP.NET Core Web API 项目。创建新项目时,已可以在解决方案中看到该文件:When a new project is created, you have already see the file in the solution:.http
默认情况下,这是在 .http 文件中自动生成的内容。让我们来看看这个文件的结构是怎样的:
@HttpFilesDemo_HostAddress = https://localhost:5192
GET {{HttpFilesDemo_HostAddress}}/weatherforecast/
Accept: application/json
###
出于演示目的,我创建了一个具有三个端点的控制器,我将使用它来演示如何使用该文件:.http
[ApiController]
[Route("[controller]")]
public class ProductsController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
var products = Enumerable.Range(1, 3)
.Select(i => new Product { Id = i, Name = $"Product {i}" })
.ToList();
return Ok(products);
}
[HttpPost]
public IActionResult Post(Product product)
{
return Ok(product);
}
[HttpDelete]
public IActionResult Delete(int productId)
{
return Ok($"Product {productId} was deleted.");
}
}
创建 .http 文件
解决方案中可以有多个文件。若要通过在解决方案中创建新文件来创建新文件:右键单击“>”添加>新项“>,然后添加扩展名,或者可以使用**”终结点资源管理器:**查看“>其他 Windows >终结点资源管理器”,根据终结点自动生成它。.http.http.http
每次创建新终结点时,都无需手动更新文件,而是可以使用终结点资源管理器上的 VS 功能,该功能将为你执行此操作。为此,您需要打开“浏览终结点”窗口:.http
在 Endpoins Explorer 上,您可以看到应用程序中的所有端点,然后右键单击并单击“生成请求”(如果您的新端点在此窗口中不可见,请单击刷新按钮):
VS 将在文件中为你创建终结点,但你可能仍需要对某些请求进行一些更改。例如,它是这样创建的:.http
请求标头
可以向请求添加一个或多个标头。为此,您可以在请求行下方的行中包含标题(不要包含空行),格式为:。例如:HeaderName: Value
GET {{HttpFilesDemo_HostAddress}}/products
X-API-Key: demo
请求正文
若要添加请求正文,请在请求后添加一个空行(如果有,则在标头之后添加空行)。例如:
POST {{HttpFilesDemo_HostAddress}}/products
Content-Type: application/json
X-API-Key: demo
{
"id": "1",
"name": "ProductTest"
}
使用 .http 文件执行 HTTP 请求
要发出 HTTP 请求,请转到 .http 文件,在请求上方,您可以单击请求上方的“发送请求”选项。例如:
单击此选项时,将发送请求,您可以在 VS 中看到所有请求详细信息。例如:
状态代码和格式化响应:
Raw 响应:
标题:
请求:
Visual Studio 2022 .http 文件编辑器允许在不离开 Visual Studio 环境的情况下将 HTTP 请求发送到 Web API 终结点,从而提供更快的方法来测试终结点,而无需使用 Swagger、Postman 或其他工具。