Editor REST Client
Editor REST Client
制作一个http请求
请求行
GET https://example.com/comments/1 HTTP/1.1
POST https://example.com/comments/1
https://example.com/comments/1
如果省略request
方法,请求将被视为GET
GET https://example.com/comments?page=2&pageSize=10
有时在单个请求中可能有多个查询参数,将所有查询参数放在请求行中很难阅读和修改。所以我们允许你将查询参数传播到多行(一行一个查询参数),我们将在请求行开始后立即解析行,?并且&像
GET https://example.com/comments
?page=2
&pageSize=10
请求头
紧接在第一个空行的请求行之后的行被解析为请求标题。请提供标准field-name: field-value
格式的标题,
每行代表一个标题。默认情况下,如果未明确指定,则会在请求中REST Client Extension
添加`User-Agent`带有值的标头`vscode-restclient`。
您还可以在设置中更改默认值`rest-client.defaultHeaders`。以下是请求标头的示例:
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
请求体
如果你想提供请求主体,请添加请求行和请求头后,一个空行,之后它会被视为所有内容的请求体。以下是请求正文的示例:
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>
如果请求体内容很大,可以将请求体写在文件中,然后引用这个文件
示例
POST http://dev.avatarinternalapi.jd.com/alarm/alarm-info
Content-Type: {{contentType}}
< ./alarm.json
变量
自定义变量
自定义变量包含 环境变量 文件变量 请求变量
环境变量
不同环境下可以切换使用不同的变量
在哪定义:设置->工作区设置
{"rest-client.environmentVariables": {
"$shared": { //共享变量
"version": "v1"
},
"local": { //本地变量
"version": "v2",
"host": "dev.avatarinternalapi.jd.com",
"token": "test token"
},
"production": {
"host": "example.com",
"token": "product token"
}
}}
当production
中没有version
时,调用production
环境时,回去找$shared
中的version
文件变量
- 对于文件变量,定义遵循
@variableName = variableValue
占用完整行的语法。 - 变量名称不得包含任何空格。至于变量值,它可以由任何字符组成,甚至允许空格(前导和尾随空格将被剥离)。
- 如果你想保留一些像换行符这样的特殊字符,你可以使用反斜杠
\n
- 无论您在何处定义文件变量
http
文件,它们可以在整个文件的任何请求中引用
@host = dev.avatarinternalapi.jd.com
@contentType = application/json
GET http://{{host}}/alarm/email-info?pin=zhangkaixuan100,zhangkaixuan1002
Content-Type: {{contentType}}
请求变量
求变量的定义语法就像单行注释一样,在所需的请求URL
之前 # @name newname
使用场景:当一个请求需要其他请求的值,作为请求的参数时
请求变量引用语法如下{{requestName.(response|request).(body|headers).(JSONPath|XPath|Header Name)}}
。
您有两个参考部分选择响应或请求:正文和标题。对于正文部分,它只适用于JSON
和XML
响应,您可以使用JSONPath
和XPath
来提取特定的属性或属性。例如,如果JSON
响应返回body {"id": "mock"}
,
则可以将JSONPath
部分设置$.id
为引用id
。
示例:
###
# @name createComment
POST {{baseUrl}}/comments HTTP/1.1
Content-Type: application/json
###
# @name getCreatedComment
GET {{baseUrl}}/comments/{{createComment.response.body.$.id}} HTTP/1.1
Authorization: {{login.response.headers.X-AuthToken}}
系统变量
系统自带的一些变量,使用系统变量需要有 $
符号
{{$guid}}
唯一识别号{{$randomInt min max}}
返回一个min
和max
之间的随机数{{$timestamp [offset option]}}
:添加UTC
时间戳。{{$timestamp number option}}
,例如3小时前{{$timestamp -3 h}}
;代表后天{{$timestamp 2 d}}
。
更多系统变量用法请参考 官方文档
系统设置
可以用户设置中,覆盖系统设置
示例: "editor.fontSize": 13
, 将系统默认的字体大小改为13
更多用户设置用法请参考 官方文档
rest editor 和 postman对比
安装和启动
postman
属于一个pc
端的应用,需要下载和安装,每次使用需要启动应用rest editor
属于一个插件,高版本的phpstorm
自带,可以在phpstom
中直接使用,无需单独启动新应用- 结论:在安装和启动上,
rest editor
更加快捷
操做使用
postman
有功能强大的操做界面,使用起来方便,支持全局变量的定义。对于一个http
请求中所需的所有参数,几乎都可以在界面中定义。rest editor
没有操做界面,需要定义一个.http
后缀的文件,在文件中编写请求。一个http
请求的所需参数,都需要手动编写,一般编辑器会有参数联想功能。- 结论: 在编写一个完整的
http
请求的过程中,postman
显得更加方便一点;二者都可以保存编写的http
请求
学习成本
- 结论: 相比而言
rest editor
学习成本更高,应为是纯手动编写http请求,需要学习rest editor
的http
请求的编写规则,并且需要熟练掌握http
协议。
团队协作
postman:
与他人共享编写过的的http请求需要付费rest editor
可以将编写的文件同步到代码仓库,实现团队共享- 结论:
rest editor
更甚一筹
其他
制作curl
鼠标放置到请求上,邮件单击选择Copy Request As cURL
curl --request POST --url http://dev.avatarinternalapi.jd.com/alarm/alarm-info --header 'content-type: application/json' --data '< ./alarm.json'
快捷键的使用
Ctrl+Alt+L(Cmd+Alt+L对于macOS)
重新重新运行上一个请求Ctrl+Alt+K(Cmd+Alt+K对于macOS)
停止请求Ctrl+Alt+E(Cmd+Alt+E对于macOS)
选择一个环境
更多快捷键用法请参考 官方文档
保存响应
保存完整的响应
左上角保存的图表
保存响应正文
左上角保存正文图表
生成原始的请求代码段
选中一次请求的所有代码后 ->点击右键 -> 选择Generate Code Sinppet ->选择你想要的语言
相关资料
官方文档
转载:https://segmentfault.com/a/1190000016300254
Editor REST Client的更多相关文章
- Java实验四 TCP客户端和服务器的应用
实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全 4.对通信内容进行摘要计算并验证 实验步骤 1.信息安全传送: 发送方A——————>接收方B A加密时,用B ...
- Android应用Preference相关及源代码浅析(SharePreferences篇)
1 前言 在我们开发Android过程中数据的存储会有非常多种解决方式,譬如常见的文件存储.数据库存储.网络云存储等,可是Android系统为咱们提供了更加方便的一种数据存储方式.那就是SharePr ...
- [转]C#打造一个开源webgis(一)系统架构
搭建一个GIS系统,为了能同时适应C/S和B/S架构,建议是做成自己的地图服务api方式,这样,一个或多个系统,就能通过统一的地图服务接口提供,而通信可以采用http的resful方式,而一个webG ...
- perl HTML::LinkExtor模块(2)
use LWP::Simple; use HTML::LinkExtor; $html_code = get("https://tieba.baidu.com/p/4929234512&qu ...
- Microsoft Dynamics AX 2012 X++ Editor Extensions
Microsoft Dynamics AX 2012 X++ Editor Extensions Initial version of this project is based on the MSD ...
- Test Markdown Editor
Last night, I just saw a cute blogger's homepage. Then I want to write something. But anyway, I use ...
- Learning WCF Chapter1 Generating a Service and Client Proxy
In the previous lab,you created a service and client from scratch without leveraging the tools avail ...
- WCF Service Configuration Editor的使用
原文:http://www.cnblogs.com/Ming8006/p/3772221.html 通过WCF Service Configuration Editor的配置修改Client端 参考 ...
- 百度editor调用【图片上传阿里云】
百度editor调用简单,但是图片和文件上传阿里云就有点难度了.下面我详细说一下. 百度富文本编辑器下载地址:http://ueditor.baidu.com/website/download.htm ...
随机推荐
- PHP 遍历目录下面的所有文件及子文件夹
//遍历文件夹下面所有文件及子文件夹 function read_all_dir ( $dir ){ $result = array(); $handle = opendir($dir);//读资源 ...
- PAT甲级——A1154 VertexColoring【25】
A proper vertex coloring is a labeling of the graph's vertices with colors such that no two vertices ...
- 力扣算法题—148sort-list
Sort a linked list in O(n log n) time using constant space complexity. Example 1: Input: 4->2-> ...
- SpringBoot扫描不到类,注入失败A component required a bean of type 'XXService' that could...
SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描! “Application类”是指SpringBoot项目入口类.这个类的位置很关键: 如果App ...
- this与super的语法比较
this 代表当前对象 可以代表当前属性,当前方法,当前对象(整个自己). 作用:解决同名变量的同名问题,同明变量可能来源于父类,局部变量和成员变量... 语法使用:this( 实参... ); 调用 ...
- Optparse 简介
optparse 这个库的主要作用是可以用为脚本提供传递命令参数功能 一个简单的例子 def main(): parser = OptionParser(usage = "usage: %p ...
- pytest框架结构运行规则及命名方式
Pytest框架结构 Import pytest 类似的setup,teardown同样更灵活,还有个session() 模块级 (setup_module/teardown_module) 不在类中 ...
- BUUCTF MISC部分题目wp
MISC这里是平台上比较简单的misc,都放在一起,难一些的会单独写1,二维码图片里藏了一个压缩包,用binwalk -e分离,提示密码为4个数字,fcrackzip -b -c1 -l 4 -u 得 ...
- LinkButton(按钮)组件
一.//class加载方式 <div id="pos" class="easyui-linkbutton">按钮</div> 二.js加 ...
- 2018-8-10-WPF-DrawingVisual
title author date CreateTime categories WPF DrawingVisual lindexi 2018-08-10 19:16:53 +0800 2018-2-1 ...