使用.NET8中的.http文件和终结点资源管理器

本文将以.NET8的模板增加的.http文件为引,介绍 Visual Studio 2022 中的 .http 文件编辑器,这是一个用于测试 ASP.NET Core 项目的强大工具。

文章目录

  • 1. 背景
  • 2. HTTP 文件介绍
  • 2.1 简介
  • 2.2 .http 文件语法
  • 3. 在 Visual Studio 中使用
    • 3.1 终结点资源管理器
  • 4. 在 Visual Studio Code 中使用
  • 5. 最后

1. 背景

在.NET8 新的 Web API 项目模板中增加一个新的文件,该文件以“项目名.http”命名。这个文件是 Visual Studio 2022 版本的 17.6 以后提供的一个新功能,一种便捷的方式来测试 ASP.NET Core项目,尤其是 API 应用。并且带有一个UI界面,类似于单元测试。

使用.NET8中的.http文件和终结点资源管理器_第1张图片

2. HTTP 文件介绍

2.1 简介

HTTP 文件是一种扩展名为 “.http” 的文件,通常包含一个 HTTP 请求或响应的文本表示。它们主要用于记录和共享 HTTP 请求和响应的详细信息,以便于调试、测试或分析网络请求。这些文件可以使用文本编辑器打开,或在某些 HTTP 客户端工具中导入,如 Postman。在这些工具中,用户可以查看请求/响应的详细信息,例如方法、URL、头部和正文等。

2.2 .http 文件语法

创建 .http 文件时,需要遵循一定的语法规则。以下是一些主要的语法元素:

  1. 注释: 以 # 或 // 开头的行是注释,将被忽略。
  2. 变量: 以 @ 开头的行用于定义变量,如 @VariableName=Value。可以在文件中的请求中引用这些变量。
  3. 请求: HTTP 请求的格式为 HTTPMethod URL HTTPVersion。这些请求可以包含请求标头和正文。
  4. 请求标头: 在请求行后添加标头,格式为 HeaderName: Value
  5. 正文: 在空白行后添加请求正文。

下面是一些基本的示例,包含了多个请求头、变量和正文。我们将逐个部分进行简要介绍。

# 变量定义  
@baseUrl = https://api.example.com  
@authToken = your_auth_token  
@userId = 12345  
@contentType = application/json  
   
# 获取用户详细信息  
GET {{baseUrl}}/users/{{userId}}  
Authorization: Bearer {{authToken}}  
Accept: {{contentType}}  
   
###  
   
# 创建新用户  
POST {{baseUrl}}/users  
Authorization: Bearer {{authToken}}  
Content-Type: {{contentType}}  
Accept: {{contentType}}  
   
{  
  "name": "John Doe",  
  "email": "[email protected]",  
  "password": "Password123!"  
}  
   
###  
   
# 更新用户信息  
PUT {{baseUrl}}/users/{{userId}}  
Authorization: Bearer {{authToken}}  
Content-Type: {{contentType}}  
   
{  
  "name": "John Doe Updated",  
  "email": "[email protected]"  
}  
   
###  
   
# 删除用户  
DELETE {{baseUrl}}/users/{{userId}}  
Authorization: Bearer {{authToken}}  

简要介绍:

  1. 变量定义: 在文件开头,我们定义了一些变量,例如基本 URL、授权令牌、用户 ID 和内容类型。这些变量将在后续请求中使用。

  2. 获取用户详细信息: 此部分定义了一个 GET 请求,用于获取特定用户的详细信息。我们使用前面定义的变量构建请求 URL 并设置请求头。

  3. 创建新用户: 此部分定义了一个 POST 请求,用于创建新用户。我们使用相同的授权令牌和内容类型变量,同时在请求体中提供 JSON 格式的用户数据。

  4. 更新用户信息: 此部分定义了一个 PUT 请求,用于更新特定用户的信息。我们使用相同的变量构建请求 URL,并在请求体中提供要更新的 JSON 数据。

  5. 删除用户: 最后,此部分定义了一个 DELETE 请求,用于删除特定用户。我们使用前面定义的变量构建请求 URL 并设置请求头。

这个 .http 文件示例展示了如何在一个文件中组织多个请求,使用变量以及设置请求头和请求体。

3. 在 Visual Studio 中使用

如果你已经使用了最新的 .NET8 的项目模板,在 WebAPI 项目中就已经包含了 .http 文件,你可以通过该文件发起 HTTP 请求进行测试,当然,先决条件还是需要启动服务,这里并没有自动启动服务的功能。

使用.NET8中的.http文件和终结点资源管理器_第2张图片

请求成功后,我们就可以在右边查看请求的结果,以及基本状态信息,耗时,响应体的大小,返回的具体内容等。

使用.NET8中的.http文件和终结点资源管理器_第3张图片

3.1 终结点资源管理器

对于升级到 .NET8 的项目,或者后续添加的新接口,我们可以通过终结点资源管理器来自动创建和编辑 .http 文件。

终结点资源管理器是 Visual Studio 2022 中的一个工具窗口,它提供与 .http 文件编辑器集成的 UI,用于测试 HTTP 请求。可以通过依次点击 “视图” > “其他窗口” > “终结点资源管理器” 来打开该功能:

使用.NET8中的.http文件和终结点资源管理器_第4张图片

若需要创建 .http 文件或添加新的接口,可以在接口上右键单击,然后选择“生成请求”以自动完成操作。

使用.NET8中的.http文件和终结点资源管理器_第5张图片

当然,生成的结果仅包含基本信息。如果有要发送的数据和参数,你还需要根据具体情况进行相应的调整。这可能涉及修改请求头、请求方法和请求体等内容,以确保请求符合实际需求。

4. 在 Visual Studio Code 中使用

在 Visual Studio Code 中,你可以通过安装 REST Client 插件的方式使用。

REST Client 是一款用于 Visual Studio Code 的扩展插件,它允许开发者和测试人员直接在编辑器中发送 HTTP 请求并查看响应。这个插件特别适合 API 开发者和测试人员,可以方便地测试和调试 RESTful Web 服务,而无需离开 Visual Studio Code 。

使用.NET8中的.http文件和终结点资源管理器_第6张图片

5. 最后

Visual Studio 2022 的 .http 文件编辑器为开发人员提供了一种方便的方式来测试和调试 ASP.NET Core 项目。通过遵循正确的文件语法并利用编辑器和终结点资源管理器的功能,你可以轻松地创建、发送和查看 HTTP 请求及其响应。这将有助于提高你在开发 Web 应用程序时的效率和准确性。关于 .http 更多的信息可以参阅:《使用 Visual Studio 2022 中的 .http 文件》。

你可能感兴趣的:(.NET,.net,http,测试工具)