一次使用IDEA中HTTP Client的經歷

2022-06-11 10:21:10 字數 2131 閱讀 9241

http client是idea中自帶的乙個外掛程式,用於代替原來的rest client,開啟tools->http client->test restful web service,會提示rest client不推薦使用,推薦使用http client:

然後當然就點選使用啊,但是,問題來了,乙個普通的get請求都傳送不出去????

idea的東西估計沒這麼菜吧???

肯定不會這麼菜的。。。

但是為什麼就是發不出去???

get請求對吧,瀏覽器也可以做,於是,使用了瀏覽器進行測試,一點問題都沒有:

沒理由啊,筆者在想,那為什麼idea不行呢??

接著使用了大名鼎鼎的postman,也是一點問題也沒有:

postman也沒問題啊,接著試試「情敵」postwoman,問題來了!

傳送不出去,檢視了一下f12控制台,報錯如下:

搜尋了一下解決辦法,是跨域資源請求的問題,在controller類上加上

@crossorigin(value = "http://localhost:3000")
即可,因為postwoman預設執行的埠為3000。

這個註解還可以作用在方法上,起作用的就是對應的方法,這裡是對整個controller起作用。

另外這裡只使用了最簡單的引數,其他的引數還有origins(同value),allowheadersexposedheadersmethodsallowcredentialsmaxage,具體使用不介紹,加上了以後postwoman就能正常傳送請求了:

但是idea中的http client還是不行啊,就最最最普通的get請求,還是返回500:

於是換了一種思路,想再用其他類似外掛程式的方式測試。

所以就想到了vscode,裡面有乙個類似的擴充套件叫rest client,安裝以後寫了乙個普通的get請求,完全沒問題:

但還是想不到為什麼idea還是不行啊???

還是500 。。。

但是,反過來想,可能是請求傳送不出去,因為如果是接受到了請求的話,肯定會有日誌記錄的,但是沒有,所以原因可能是請求傳送不出去。。。

乙個普通的get請求為什麼傳送不出去?

到底是為什麼會返回500?

最後,經過一番痛苦的思考,找到了問題所在:**!

傳送不出去就是因為設定了本地**,返回的500,是**伺服器返回的,不是tomcat返回的。

終於,把**去掉之後,http client就可以正常使用了:

沒錯,「真兇」就是**。

最後終於打消了筆者的誤解,為什麼idea中的http client會這麼「菜」,連乙個普通的get請求也傳送不出去??

IDEA第一次使用注意細節

1 找到 idea properties 注 工具屬性配置檔案 2 c盤 使用者 找到config資料夾刪除 project name 工程名 project loaction 工程位址 視窗左上角的file 檔案 settings 設定 editor 編輯 font 字型 file setting...

記一次idea快捷鍵

ctrl r,替換文字 ctrl f,查詢文字 ctrl s,存保 ctrl c,複製 ctrl v,貼上 ctrl x,刪除行 ctrl y,刪除當前行 ctrl d,複製行 ctrl z,回退 ctrl n,可以快速開啟類 shift f6,重構 重新命名 shift shift,可以快速查詢類...

一次使用FileOutputStream碰到的坑

一開始的 寫法 inputstream inputstream null fileoutputstream fileoutputstream null inputstream response.body bytestream file file new file if file.exists try...