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

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

haoteby 2025-02-08 11:04 8 浏览

今天冬至,你吃饺子了么? 学会 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 文件,并且将请求添加到该文件。


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

相关推荐

Python的RSA操作(私钥与公钥)(python rsa 公钥解密)

RSA是1977年由罗纳德·李维斯特(RonRivest)、阿迪·萨莫尔(AdiShamir)和伦纳德·阿德曼(LeonardAdleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA...

RSA在日益互联的世界网络中安全性能如何?

KeyFactor公司(美国一家领先的安全数字身份管理解决方案提供商及网络安全行业权威机构)研究表明,许多物联网设备制造商正在生成不安全的RSA密钥,182个RSA证书里就有一个可能会被破解,由于不正...

让频谱分析更高效,澄清RSA使用中的一些误解

从事射频应用的研究人员、工程师和技术人员通常都能充分理解频谱分析仪的用途和优点,无论是传统的扫频分析仪(TSA)还是更现代的矢量信号分析仪(VSA)。他们熟练掌握这些重要射频仪器的关键规范和工作...

微软公告:Win10/Win11将不再支持短于2048位的RSA密钥证书

IT之家3月16日消息,微软近日发布公告,表示即将放弃短于2048位的RSA密钥证书。在公告中微软并未明确弃用时间,对于用户来说,这其实有利于构建更安全的上网环境。IT之家翻译微软公告...

目前已知的最强加密算法RSA(rsa加密算法的优点)

前面有人让我讲解一下RSA算法,今天我就用我所学的知识讲解一下,首先我们先了解一下RSARSA是一种非对称加密算法,1977年由罗纳德·李维斯特(RonRivest)、阿迪·萨莫尔(AdiSha...

韩国 CryptoLab 将在 2025年 RSA 大会发布加密人脸识别解决方案

据美通社4月23日报道,韩国同态加密网络安全企业CryptoLab宣布,将于4月24日在2025年RSA大会上,首次发布加密人脸识别(EFR)方案,为生物识别安全难题提供创新解法。当前,人脸识...

应对变化!盘点RSA2015十大热门产品

4月20日-24日,全球知名信息安全峰会RSAConference2015在美国旧金山召开。作为IT安全领域的权威科技大会,RSA大会不仅会邀请各地区著名安全专家出席与分享,更吸引汇集了全球众多顶...

RSA 2015主题:变化挑战当今的安全理念

1“变化”成为RSA2015主题4月20日-24日,全球知名信息安全峰会RSAConference2015在美国旧金山召开。作为IT安全领域的权威科技大会,RSA大会不仅会邀请各地区著名安全专家出...

非对称加密——一文看懂RSA(非对称加密详解)

非对称加密----RSA的使用"非对称加密也叫公钥密码:使用公钥加密,使用私钥解密"在对称密码中,由于加密和解密的密钥是相同的,因此必须向接收者配送密钥。用于解密的密钥必须被配送给...

RSA算法详解(rsa算法图解)

什么是RSA前面文章我们讲了AES算法,AES算法是一种是对称加密算法,本文我们来介绍一个十分常用的非对称加密算法RSA。非对称加密算法也叫公钥密码算法,通过生成的公私钥来对明文密文进行加密解密。R...

升级SSH后ssh-rsa失效?一文带你轻松解决!

背景今天刚给Linux桌面系统完成升级,结果SSH连接突然“罢工”了,还弹出了这个报错信息:...

历史回顾RSA大会:25年,十个瞬间(rsa conference)

国家安全局、Clipper芯片、苹果对决FBI、禁止ShowGirl——RSA大会都经历过。RSA需要你RSA这个词代表一家密码及安全厂商,也代表着世界上最大的网络安全展会,它今年在旧...

RSA 加密技术详解(rsa的加密原理是什么)

RSA的安全性基于数学难题的理论安全:RSA的安全性主要基于大质数分解和离散对数问题这两个数学难题。在RSA加密算法中,公钥包含一个大整数N,它是两个大质数p和q的乘积。攻击者如果想要破解RSA加密,...

「游戏开发」请别再说Unity不如Unreal:Unity室内场景 + 光照练习 3

关注“indienova”,挖掘独立游戏的更多乐趣引言上两节慢吞吞的补了很多技术实现的细节,感觉要是把用到的所有技术细节都过一遍可能还需要若干篇文章。所以决定先把整体的流程这篇好玩的写了,以后再慢慢补...

再做一个Android!Google发布第二代VR眼镜Cardboard

在去年的GoogleI/O上,Google向所有与会者发放了一款名为Cardboard的纸盒版虚拟现实眼镜,相比OculusRift等颇为酷炫的VR头盔,第一代Cardboard着实糙得很。不过,...