百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

asp.net core 8 中 .http 文件介绍

yuyutoo 2024-10-18 12:08 5 浏览 0 评论

今天冬至,你吃饺子了么? 学会 asp.net core 8 中的 .http 文件配置编写,吃饺子啧香,不信你试试。

.http 文件介绍

.httpVisual Studio 2022 17.6 版本或者更高版本提供的一种便捷的方式来测试 ASP.NET Core 项目的一种文本编辑器,主要用于测试 Web API。类似 swagger、k4 ui、postman 这类可以发起 HTTP 请求的工具,只不过需要我们自己编写相关的调试代码。

.http 文件和 Visual Studio CodeREST Client 插件一样,但 .http 文本编辑器只包含了一些常规的功能,没有 REST Client 插件的功能丰富。在 Visual Studio 2022 中可以以 .http 结尾,也可以以 .rest 文件格式结尾。

.http 文件式例

.http 文件语法介绍

1. 注释

# 或者 // 开头的语句是注释行:

# 注释1
// 注释2

2. 创建变量

  • 定义格式:@VariableName=Value
  • 使用格式 :{{VariableName}},类似 vue、angular 中的插值表达式;
@hostname=localhost
@port=5000
Get http://{{hostname}}:{{port}}/weatherforecast

还可以将两个变量拼接后保存到一个变量中:

@hostname=localhost
@port=5000
@host={{hostname}}:{{port}}
Get http://{{host}}/weatherforecast

3. 请求

  • 格式:HTTPMethod URL [HTTPVersion],全部在一行上,中间用空格隔开。
Get http://localhost:5000/weatherforecast
  • HTTPMethod 表示要发起的 HTTP 谓词方法,支持:
 - OPTIONS
- GET
- HEAD
- POST
- PUT
- PATCH
- DELETE
- TRACE
- CONNECT
  • URL 表示发起 HTTP 请求的 URL 地址,这里的 URL 不仅仅是你自己项目的 API,可以是任何可以访问到的 API,例如可以是:https://www.baidu.com
  • HTTPVersion 是可选的,指定应使用的 HTTP 版本,即 HTTP/1.1、HTTP/1HTTP/3

一个 .http 文件中包含多个请求时使用 ### 作为分隔符:

GET http://localhost:5000/weatherforecast/getlist

###

GET http://localhost:5000/weatherforecast/getlist?id=1

###

GET http://localhost:5000/weatherforecast/getlist HTTP/3

###

建议每个请求下都加上 ###,它表示一个完整的请求块,即使是单个请求。

4. 请求头

请求头的语句紧接在请求行的后面一行,请求行和请求头之间不能包含空白行,请求头之间也不能有空白行。

GET http://localhost:5000/weatherforecast/getlist
Accept: application/json
Content-Type: application/json
Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

###

上面的示例中,在 HTTP 请求头中设置 Accept、Content-Type、Authorization 等参数。

5. 请求正文

在请求头后面添加请求正文:

POST http://localhost:5000/weatherforecast/add
Accept: application/json
Content-Type: application/json
Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

{
"date": "2023-05-10",
"temperatureC": 30,
"summary": "Warm"
}

###

上面的示例中,{date:"2023-05-10","temperatureC":30,"summary":"Warm"}POST 请求的请求参数。

6. 使用 .http 文件

  • 如果是调试本地接口,则先点击 调试,这里的调试和VS菜单栏的运行按钮的功能是一样,然后点击 发送请求
  • 如果是调试远程接口,则直接点击 发送请求

调用示例如下:

.http 文件调试式例

右侧窗口为调用接口后的响应结果,其中:

- Status:接口调用状态,200 OK表示响应成功
- Time:1118.16ms,接口响应时间为1118.16毫秒
- Size:26 bytes,响应内容大小为26 bytes
- Formatted:格式化后的响应结果体
- Raw:原始的响应结果体
- Headers:响应头
- Request:本次请求的请求信息,包括请求地址,请求头,请求体等信息

终结点资源管理器介绍

使用终结点资源管理器可以将你的 API.http 文件中自动生成请求块,无需手动编写。

终结点资源管理器打开路径:视图 > 其它窗口 > 终结点资源管理器

在终结点资源管理器路径

在终结点资源管理器中显示了你当前项目中的所有 API 接口,你可以 右键 其中一个接口,来创建改接口的请求块:

在这里插入图片描述
  • 如果存在项目名用作文件名的 .http 文件,则会将请求添加到该文件。
  • 否则,会创建项目名用作文件名的 .http 文件,并且将请求添加到该文件。


通过终结点资源管理器来创建请求块还是非常方便快捷的,不过要吐槽一点的是,接口没有按照控制器来分组,没有接口搜索功能,在实际开发中,接口多了之后分组和搜索功能还是很有必要的。

相关推荐

墨尔本一华裔男子与亚裔男子分别失踪数日 警方寻人

中新网5月15日电据澳洲新快网报道,据澳大利亚维州警察局网站消息,22岁的华裔男子邓跃(Yue‘Peter’Deng,音译)失踪已6天,维州警方于当地时间13日发布寻人通告,寻求公众协助寻找邓跃。华...

网络交友须谨慎!美国犹他州一男子因涉嫌杀害女网友被捕

伊森·洪克斯克(图源网络,侵删)据美国广播公司(ABC)25日报道,美国犹他州一名男子于24日因涉嫌谋杀被捕。警方表示,这名男子主动告知警局,称其杀害了一名在网络交友软件上认识的25岁女子。雷顿警...

一课译词:来龙去脉(来龙去脉 的意思解释)

Mountainranges[Photo/SIPA]“来龙去脉”,汉语成语,本指山脉的走势和去向,现比喻一件事的前因后果(causeandeffectofanevent),可以翻译为“i...

高考重要考点:range(range高考用法)

range可以用作动词,也可以用作名词,含义特别多,在阅读理解中出现的频率很高,还经常作为完形填空的选项,而且在作文中使用是非常好的高级词汇。...

C++20 Ranges:现代范围操作(现代c++白皮书)

1.引言:C++20Ranges库简介C++20引入的Ranges库是C++标准库的重要更新,旨在提供更现代化、表达力更强的方式来处理数据序列(范围,range)。Ranges库基于...

学习VBA,报表做到飞 第二章 数组 2.4 Filter函数

第二章数组2.4Filter函数Filter函数功能与autofilter函数类似,它对一个一维数组进行筛选,返回一个从0开始的数组。...

VBA学习笔记:数组:数组相关函数—Split,Join

Split拆分字符串函数,语法Split(expression,字符,Limit,compare),第1参数为必写,后面3个参数都是可选项。Expression为需要拆分的数据,“字符”就是以哪个字...

VBA如何自定义序列,学会这些方法,让你工作更轻松

No.1在Excel中,自定义序列是一种快速填表机制,如何有效地利用这个方法,可以大大增加工作效率。通常在操作工作表的时候,可能会输入一些很有序的序列,如果一一录入就显得十分笨拙。Excel给出了一种...

Excel VBA入门教程1.3 数组基础(vba数组详解)

1.3数组使用数组和对象时,也要声明,这里说下数组的声明:'确定范围的数组,可以存储b-a+1个数,a、b为整数Dim数组名称(aTob)As数据类型Dimarr...

远程网络调试工具百宝箱-MobaXterm

MobaXterm是一个功能强大的远程网络工具百宝箱,它将所有重要的远程网络工具(SSH、Telnet、X11、RDP、VNC、FTP、MOSH、Serial等)和Unix命令(bash、ls、cat...

AREX:携程新一代自动化回归测试工具的设计与实现

一、背景随着携程机票BU业务规模的不断提高,业务系统日趋复杂,各种问题和挑战也随之而来。对于研发测试团队,面临着各种效能困境,包括业务复杂度高、数据构造工作量大、回归测试全量回归、沟通成本高、测试用例...

Windows、Android、IOS、Web自动化工具选择策略

Windows平台中应用UI自动化测试解决方案AutoIT是开源工具,该工具识别windows的标准控件效果不错,但是当它遇到应用中非标准控件定义的UI元素时往往就无能为力了,这个时候选择silkte...

python自动化工具:pywinauto(python快速上手 自动化)

简介Pywinauto是完全由Python构建的一个模块,可以用于自动化Windows上的GUI应用程序。同时,它支持鼠标、键盘操作,在元素控件树较复杂的界面,可以辅助我们完成自动化操作。我在...

时下最火的 Airtest 如何测试手机 APP?

引言Airtest是网易出品的一款基于图像识别的自动化测试工具,主要应用在手机APP和游戏的测试。一旦使用了这个工具进行APP的自动化,你就会发现自动化测试原来是如此简单!!连接手机要进行...

【推荐】7个最强Appium替代工具,移动App自动化测试必备!

在移动应用开发日益火爆的今天,自动化测试成为了确保应用质量和用户体验的关键环节。Appium作为一款广泛应用的移动应用自动化测试工具,为测试人员所熟知。然而,在不同的测试场景和需求下,还有许多其他优...

取消回复欢迎 发表评论: