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 ->選擇你想要的語言