GET https://example.com/comments/1 HTTP/1.1 POST https://example.com/comments/1 https://example.com/comments/1
若是省略request
方法,请求将被视为GET
php
GET https://example.com/comments?page=2&pageSize=10
有时在单个请求中可能有多个查询参数,将全部查询参数放在请求行中很难阅读和修改。因此咱们容许你将查询参数传播到多行(一行一个查询参数),咱们将在请求行开始后当即解析行,?而且&像json
GET https://example.com/comments ?page=2 &pageSize=10
紧接在第一个空行的请求行以后的行被解析为请求标题。请提供标准field-name: field-value
格式的标题,
每行表明一个标题。默认状况下,若是未明确指定,则会在请求中REST Client Extension
api
添加`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
若是你想提供请求主体,请添加请求行和请求头后,一个空行,以后它会被视为全部内容的请求体。如下是请求正文的示例:app
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>
若是请求体内容很大,能够将请求体写在文件中,而后引用这个文件
示例dom
POST http://dev.avatarinternalapi.jd.com/alarm/alarm-info Content-Type: {{contentType}} < ./alarm.json
自定义变量包含 环境变量 文件变量 请求变量
不一样环境下能够切换使用不一样的变量curl
在哪定义:设置->工做区设置phpstorm
{"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
post
使用场景:当一个请求须要其余请求的值,做为请求的参数时学习
请求变量引用语法以下{{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
更多用户设置用法请参考 官方文档
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
更甚一筹鼠标放置到请求上,邮件单击选择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 ->选择你想要的语言