REST Client allows you to send HTTP request and view the response in Visual Studio Code directly. It eliminates the need for a separate tool to test REST APIs and makes API testing convenient and efficient.
cURL command
###
delimiter){{$guid}}
{{$randomInt min max}}
{{$timestamp [offset option]}}
{{$datetime rfc1123|iso8601 [offset option]}}
{{$localDatetime rfc1123|iso8601 [offset option]}}
{{$processEnv [%]envVarName}}
{{$dotenv [%]variableName}}
{{$aadToken [new] [public|cn|de|us|ppe] [<domain|tenantId>] [aud:<domain|tenantId>]}}
{{$oidcAccessToken [new] [<clientId:<clientId>] [<callbackPort:<callbackPort>] [authorizeEndpoint:<authorizeEndpoint}] [tokenEndpoint:<tokenEndpoint}] [scopes:<scopes}] [audience:<audience}]}
Python
, JavaScript
and more!HTTP
language support
.http
and .rest
file extensions support#
or //
) supportjson
and xml
body indentation, comment shortcut and auto closing bracketsGET
and POST
http
filehttp
or rest
In editor, type an HTTP request as simple as below:
https://example.com/comments/1
Or, you can follow the standard RFC 2616 that including request method, headers, and body.
POST https://example.com/comments HTTP/1.1 content-type: application/json { "name": "sample", "time": "Wed, 21 Oct 2015 18:27:50 GMT" }
To send a prepared request, you have several options. The easiest way is to click the Send Request
link above the request. This link will appear automatically if the file's language mode is set to HTTP
. You can also use the shortcut Ctrl+Alt+R
(Cmd+Alt+R
for macOS), right-click in the editor and select Send Request
from the context menu, or press F1
and select/type Rest Client: Send Request
.
The response will be previewed in a separate webview panel inside Visual Studio Code. If you prefer to use the full power of searching, selecting, or manipulating in Visual Studio Code, you can preview the response in an untitled document by setting rest-client.previewResponseInUntitledDocument
to true
.
When you issue a request, a waiting spin icon will appear in the status bar until the response is received. You can click the spin icon to cancel the request. Once the response is received, the waiting icon will be replaced with the total duration and response size. By hovering over the total duration in the status bar, you can view a breakdown of the response time, including details on Socket, DNS, TCP, First Byte and Download. By hovering over the response size displayed in the status bar, you can view a breakdown of the response size details for both the headers and body.
The shortcuts in the REST Client Extension can be accessed exclusively when using the file language modes
http
andplaintext
.
If you need to store multiple requests in the same file and execute them at your convenience, REST Client Extension has got you covered. By using the three or more consecutive #
symbol as a delimiter, you can create a separation between the requests that the extension can recognize. Once you have done this, simply place your cursor between the delimiters of the desired request, issue it as usual, and the extension will send it out without any hassle.
GET https://example.com/comments/1 HTTP/1.1 ### GET https://example.com/topics/1 HTTP/1.1 ### POST https://example.com/comments HTTP/1.1 content-type: application/json { "name": "sample", "time": "Wed, 21 Oct 2015 18:27:50 GMT" }
REST Client extension also provides the flexibility that you can send the request with your selected text in editor.
Press F1
, type ext install
then search for rest-client
.
The first non-empty line of the selection (or document if nothing is selected) is the Request Line. Below are some examples of Request Line:
GET https://example.com/comments/1 HTTP/1.1
GET https://example.com/comments/1
https://example.com/comments/1
If request method is omitted, request will be treated as GET, so above requests are the same after parsing.
You can always write query strings in the request line, like:
GET https://example.com/comments?page=2&pageSize=10
Sometimes there may be several query parameters in a single request, putting all the query parameters in Request Line is difficult to read and modify. So we allow you to spread query parameters into multiple lines(one line one query parameter), we will parse the lines in immediately after the Request Line which starts with ?
and &
, like
GET https://example.com/comments ?page=2 &pageSize=10
Once you've written your Request line, the lines that immediately follow until the first empty line will be parsed as Request Headers. These headers should follow the standard field-name: field-value
format, with each line representing a single header. By default if you don't explicitly specify a User-Agent
header, REST Client Extension
will automatically add one with the value vscode-restclient
. However, if you want to change the default value, you can do so in the rest-client.defaultHeaders
setting.
Below are examples of Request Headers:
User-Agent: rest-client Accept-Language: en-GB,en-US;q=0.8,en;q=0.6,zh-CN;q=0.4 Content-Type: application/json
If you want to provide a request body, simply add a blank line following the request headers, as demonstrated in the POST example in the usage section. Anything written after the blank line will be treated as Request Body content. Here are some examples:
POST https://example.com/comments HTTP/1.1 Content-Type: application/xml Authorization: token xxx <request> <name>sample</name> <time>Wed, 21 Oct 2015 18:27:50 GMT</time> </request>
You can also specify file path to use as a body, which starts with <
, the file path(whitespaces should be preserved) can be either in absolute or relative(relative to workspace root or current http file) formats:
POST https://example.com/comments HTTP/1.1 Content-Type: application/xml Authorization: token xxx < C:\Users\Default\Desktop\demo.xml
POST https://example.com/comments HTTP/1.1 Content-Type: application/xml Authorization: token xxx < ./demo.xml
If you want to use variables in that file, you'll have to use an @
to ensure variables are processed when referencing a file (UTF-8 is assumed as the default encoding)
POST https://example.com/comments HTTP/1.1 Content-Type: application/xml Authorization: token xxx <@ ./demo.xml
to override the default encoding, simply type it next to the @
like the below example
POST https://example.com/comments HTTP/1.1 Content-Type: application/xml Authorization: token xxx <@latin1 ./demo.xml
When content type of request body is multipart/form-data
, you may have the mixed format of the request body as follows:
POST https://api.example.com/user/upload Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="text" title ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="image"; filename="1.png" Content-Type: image/png < ./1.png ------WebKitFormBoundary7MA4YWxkTrZu0gW--
When content type of request body is application/x-www-form-urlencoded
, you may even divide the request body into multiple lines. And each key and value pair should occupy a single line which starts with &
:
POST https://api.example.com/login HTTP/1.1 Content-Type: application/x-www-form-urlencoded name=foo &password=bar
When your mouse is over the document link, you can
Ctrl+Click
(Cmd+Click
for macOS) to open the file in a new tab.
With GraphQL support in REST Client extension, you can author and send GraphQL
query using the request body. Besides that you can also author GraphQL variables in the request body. GraphQL variables part in request body is optional, you also need to add a blank line between GraphQL query and variables if you need it.
You can specify a request as GraphQL Request
by adding a custom request header X-Request-Type: GraphQL
in your headers. The following code illustrates this:
POST https://api.github.com/graphql Content-Type: application/json Authorization: Bearer xxx X-REQUEST-TYPE: GraphQL query ($name: String!, $owner: String!) { repository(name: $name, owner: $owner) { name fullName: nameWithOwner description diskUsage forkCount stargazers(first: 5) { totalCount nodes { login name } } watchers { totalCount } } } { "name": "vscode-restclient", "owner": "Huachao" }
We add the capability to directly run curl request in REST Client extension. The issuing request command is the same as raw HTTP one. REST Client will automatically parse the request with specified parser.
REST Client
doesn't fully support all the options of cURL
, since underneath we use request
library to send request which doesn't accept all the cURL
options. Supported options are listed below:
If you need to quickly obtain the curl format of an HTTP request and save it to your clipboard, you can use a handy shortcut. Simply hit F1
and select/type Rest Client: Copy Request As cURL
. Alternatively, you can right-click in the editor and select Copy Request As cURL.
If you want to cancel a processing request, click the waiting spin icon or use shortcut Ctrl+Alt+K
(Cmd+Alt+K
for macOS), or press F1
and then select/type Rest Client: Cancel Request
.
Sometimes you may want to refresh the API response, now you could do it simply using shortcut Ctrl+Alt+L
(Cmd+Alt+L
for macOS), or press F1
and then select/type Rest Client: Rerun Last Request
to rerun the last request.
Every time you send an http request, the request details, including method, url, headers, and body, are saved into a file for future reference. To access this content, you can use the shortcut
Ctrl+Alt+H
(Cmd+Alt+H
for macOS), or press F1
and then select/type Rest Client: Request History
. This will allow you to view the last 50 request items in time reversing order, displaying the method, url, and request time for each one. After specified request history item is selected, the request details would be displayed in a temp file, you can view the request details or follow previous step to trigger the request again.
You can also clear request history by pressing F1
and then selecting/typing Rest Client: Clear Request History
.
In the upper right corner of the response preview tab, we add a new icon to save the latest response to local file system. After you click the
Save Full Response
icon, it will prompt the window with the saved response file path. You can click the Open
button to open the saved response file in current workspace or click Copy Path
to copy the saved response path to clipboard.
Another icon in the upper right corner of the response preview tab is the Save Response Body
button, it will only save the response body ONLY to local file system. The extension of saved file is set according to the response MIME
type, like if the Content-Type
value in response header is application/json
, the saved file will have extension .json
. You can also overwrite the MIME
type and extension mapping according to your requirement with the rest-client.mimeAndFileExtensionMapping
setting.
"rest-client.mimeAndFileExtensionMapping": {
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项 目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号