亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

瀏覽:119日期:2024-07-16 10:07:59
目錄1 前言2 HTTP Client2.1 創(chuàng)建 HTTP Client 文件2.2 HTTP Client 特性2.3 如何創(chuàng)建請求2.4 請求方式

Java公眾號【Java技術(shù)迷】一個(gè)在互聯(lián)網(wǎng)領(lǐng)先地位,微信搜索【Java技術(shù)迷】第一時(shí)間閱讀最新文章,通過下面下載鏈接,即可獲得我精心整理的技術(shù)資料,電子書籍,一線大廠面試資料和優(yōu)秀簡歷模板。

http://xiazai.jb51.net/202105/yuanma/javadzsh_jb51.rar

1 前言

當(dāng)我們在開發(fā)調(diào)試 Web 服務(wù)的時(shí)候,需要對接口進(jìn)行調(diào)用測試;或者對接第三方系統(tǒng)時(shí),需要調(diào)用遠(yuǎn)程第三方的接口進(jìn)行聯(lián)調(diào)。這時(shí),相信大家首選的工具一般會是 Postman ,一款當(dāng)今比較流行而且功能齊全的接口調(diào)用調(diào)試工具。如下所示:

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

不過我們一般使用 IntelliJ IDEA 代碼編輯器來開發(fā)和調(diào)試 Web 服務(wù),如果使用 Postman 工具來測試接口,不僅要在電腦上安裝 Postman ,還需要在不同工具之間切換,比較麻煩。幸運(yùn)地的是 IDEA 自帶了一款簡潔輕量級的接口調(diào)用插件,HTTP Client。

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

2 HTTP Client

HTTP Client 是 IDEA 自帶的一款簡潔輕量級的接口調(diào)用插件,通過它,我們能在 IDEA 上開發(fā),調(diào)試,測試 RESTful Web 服務(wù)。

注意:確保 HTTP Client 插件是安裝啟動的,默認(rèn)是已安裝啟動的。若沒有安裝,在 File - Settings - Plugins 路徑下進(jìn)行安裝,如下:

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

2.1 創(chuàng)建 HTTP Client 文件

可以創(chuàng)建2種文件類型的 HTTP Client 文件,一種是臨時(shí)文件(scratch files,不跟項(xiàng)目工程掛鉤),一種是非臨時(shí)文件(physical files,跟項(xiàng)目工程掛鉤)。

如果你想創(chuàng)建的 HTTP Client 文件是為了臨時(shí)調(diào)用接口測試用的,不需要保留記錄供以后使用,則可以使用臨時(shí)文件;如果想存檔記錄請求參數(shù),請求結(jié)果等,后續(xù)再繼續(xù)使用,或者隨項(xiàng)目提交到遠(yuǎn)程git倉庫,則建議使用非臨時(shí)文件。

創(chuàng)建 HTTP Client 臨時(shí)文件

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

打開后,顯示界面和Postman差不多,不過這種風(fēng)格的界面被棄用了,官方不推薦我們使用,在最新版本的 IDEA 中已經(jīng)沒有這個(gè)界面了。

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

官方推薦我們使用編碼式的風(fēng)格界面,點(diǎn)擊上個(gè)界面頂部的 Convert request to the new format ,即可打開新的 HTTP Client 界面。

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

創(chuàng)建 HTTP Client 非臨時(shí)文件

可以在項(xiàng)目根目錄下創(chuàng)建一個(gè)存儲請求文件的文件夾,然后在里面創(chuàng)建 HTTP Client 請求文件,如下:

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

2.2 HTTP Client 特性

HTTP 請求存儲在以.http或.rest為后綴的文件中,并且?guī)в?API 小圖標(biāo)。

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

請求文件可以包含多個(gè)請求,多個(gè)請求中間用3個(gè)井號 ### 隔開;如果是臨時(shí)文件,每次執(zhí)行請求后,會在請求下方生成對應(yīng)請求結(jié)果的文件鏈接,按住 Ctrl + 鼠標(biāo)左鍵可以打開。

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

所有的請求結(jié)果,請求歷史記錄,cookies等信息會存放在 .idea 文件夾下,如下:

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

2.3 如何創(chuàng)建請求

使用右上角的快捷按鈕創(chuàng)建請求,可以選擇不同方式的請求,如下:

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

使用快捷鍵進(jìn)行創(chuàng)建請求,例如輸入 gtr 可以快速創(chuàng)建一個(gè)簡單的 GET 請求,如下:

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

使用 Ctrl + J 快捷鍵可以查看創(chuàng)建 HTTP 請求的所有快捷鍵,如下:

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

通過 cURL 創(chuàng)建請求,點(diǎn)擊右上角的 Convert form cURL 按鈕,然后輸入 cURL 地址即可自動轉(zhuǎn)換,如下:

詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman

2.4 請求方式

GET

### GET request with a headerGET https://httpbin.org/ipAccept: application/json### GET request with parameterGET https://httpbin.org/get?show_env=1Accept: application/json### GET request with environment variablesGET {{host}}/get?show_env={{show_env}}Accept: application/json### GET request with disabled redirects# @no-redirectGET http://httpbin.org/status/301### GET request with dynamic variablesGET http://httpbin.org/anything?id={{$uuid}}&ts={{$timestamp}}###

POST

### Send POST request with json bodyPOST https://httpbin.org/postContent-Type: application/json{ 'id': 999, 'value': 'content'}### Send POST request with body as parametersPOST https://httpbin.org/postContent-Type: application/x-www-form-urlencodedid=999&value=content### Send a form with the text and file fieldsPOST https://httpbin.org/postContent-Type: multipart/form-data; boundary=WebAppBoundary--WebAppBoundaryContent-Disposition: form-data; name='element-name'Content-Type: text/plainName--WebAppBoundaryContent-Disposition: form-data; name='data'; filename='data.json'Content-Type: application/json< ./request-form-data.json--WebAppBoundary--### Send request with dynamic variables in request’s bodyPOST https://httpbin.org/postContent-Type: application/json{ 'id': {{$uuid}}, 'price': {{$randomInt}}, 'ts': {{$timestamp}}, 'value': 'content'}###

PUT

PUT http://localhost:8080/person/putContent-Type: application/json{'name': '陳皮','age': 17}

PATCH

###PATCH http://localhost:8080/person/putContent-Type: application/json{'name': '陳皮','age': 17}

鑒權(quán)方式

### Basic authorization.GET https://httpbin.org/basic-auth/user/passwdAuthorization: Basic user passwd### Basic authorization with variables.GET https://httpbin.org/basic-auth/user/passwdAuthorization: Basic {{username}} {{password}}### Digest authorization.GET https://httpbin.org/digest-auth/realm/user/passwdAuthorization: Digest user passwd### Digest authorization with variables.GET https://httpbin.org/digest-auth/realm/user/passwdAuthorization: Digest {{username}} {{password}}### Authorization by token, part 1. Retrieve and save token.POST https://httpbin.org/postContent-Type: application/json{ 'token': 'my-secret-token'}> {% client.global.set('auth_token', response.body.json.token); %}### Authorization by token, part 2. Use token to authorize.GET https://httpbin.org/headersAuthorization: Bearer {{auth_token}}###

斷言方式

### Successful test: check response status is 200GET https://httpbin.org/status/200> {%client.test('Request executed successfully', function() { client.assert(response.status === 200, 'Response status is not 200');});%}### Failed test: check response status is 200GET https://httpbin.org/status/404> {%client.test('Request executed successfully', function() { client.assert(response.status === 200, 'Response status is not 200');});%}### Check response status and content-typeGET https://httpbin.org/get> {%client.test('Request executed successfully', function() { client.assert(response.status === 200, 'Response status is not 200');});client.test('Response content-type is json', function() { var type = response.contentType.mimeType; client.assert(type === 'application/json', 'Expected ’application/json’ but received ’' + type + '’');});%}### Check response bodyGET https://httpbin.org/get> {%client.test('Headers option exists', function() { client.assert(response.body.hasOwnProperty('headers'), 'Cannot find ’headers’ option in response');});%}###

以上就是IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman的詳細(xì)內(nèi)容,更多關(guān)于idea HTTP Client插件的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: IDEA
相關(guān)文章:
主站蜘蛛池模板: 午夜激情福利视频 | 一级特黄国产高清毛片97看片 | 激情五月色综合婷婷大片 | 亚洲在线视频一区 | 成人国产精品一级毛片视频 | 在线97视频 | 亚洲国产成人久久综合碰 | 国产精品免费观看 | 全部费免一级毛片不收费 | 成人免费国产欧美日韩你懂的 | 456亚洲老头视频 | 久久www免费人成精品 | 久久黄色一级片 | 激情亚洲网 | 日韩在线视频一区二区三区 | 一级黄网| 国产一区二区欧美丝袜 | 国产精品久久99 | 色综合小说久久综合图片 | 欧美色欧美亚洲另类二区精品 | 日本大片免a费观看视频+播放器 | 天天躁日日躁狠狠躁中文字幕老牛 | 91精品视频在线看 | www.欧美在线观看 | 中文字幕一级毛片视频 | 日韩中文字幕在线不卡 | 精品综合久久88色鬼首页 | 国产在线欧美日韩精品一区二区 | 国产欧美久久一区二区 | 欧美aaa大片 | aaa毛片在线 | 全免费一级毛片在线播放 | 精品一久久香蕉国产线看观 | 亚洲一级特黄特黄的大片 | 亚洲国产一区二区三区四区五区 | 中文三 级 黄 色 片 | 日本大片在线观看免费视频 | 国产伦精品一区二区三区精品 | 美日韩一区二区三区 | 亚洲综合日韩欧美一区二区三 | 欧美一区二区精品系列在线观看 |