SpringBoot實現(xiàn)HTTP服務(wù)監(jiān)聽的代碼示例
前言
前后端分離項目中,在調(diào)用接口調(diào)試時候,我們可以通過cpolar內(nèi)網(wǎng)穿透將本地服務(wù)端接口模擬公共網(wǎng)絡(luò)環(huán)境遠程調(diào)用調(diào)試,本次教程我們以Java服務(wù)端接口為例。
1. 本地環(huán)境搭建
1.1 環(huán)境參數(shù)
- JDK1.8
- IDEA
- SpringBoot
- Maven
- Tomcat9.0
- Postman
1.2 搭建springboot服務(wù)項目
搭建一個springboot服務(wù)的項目,編寫一個接口,為了更好直觀看到,這里創(chuàng)建一個pos請求的接口
@RestController @RequestMapping("/test") public class InterfaceTest { /** * 測試接口 * @param data * @return Map<String,String> */ @PostMapping("/interTest") public Map<String,String>interTest(@RequestBody Map<String,String> data){ System.out.println(data); if (data.size()>0){ return data; } data.put("code","404"); return data; } }
2. 內(nèi)網(wǎng)穿透
這里我們使用cpolar來進行內(nèi)網(wǎng)穿透,支持http/https/tcp協(xié)議,不限制流量,無需公網(wǎng)IP,也不用設(shè)置路由器,使用簡單。
2.1 安裝配置cpolar內(nèi)網(wǎng)穿透
cpolar官網(wǎng):https://www.cpolar.com/
2.1.1 windows系統(tǒng)
進入cpolar官網(wǎng)后,下載windows版本版本,雙擊安裝包一路默認安裝即可。
2.1.2 linux系統(tǒng)
- cpolar 安裝(國內(nèi)使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 或 cpolar短鏈接安裝方式:(國外使用)
curl -sL https://git.io/cpolar | sudo bash
- 查看版本號,有正常顯示版本號即為安裝成功
cpolar version
- token認證
登錄cpolar官網(wǎng)后臺,點擊左側(cè)的驗證,查看自己的認證token,之后將token貼在命令行里
cpolar authtoken xxxxxxx
- 簡單穿透測試
cpolar http 8080
按ctrl+c退出
- 向系統(tǒng)添加服務(wù)
sudo systemctl enable cpolar
- 啟動cpolar服務(wù)
sudo systemctl start cpolar
- 查看服務(wù)狀態(tài)
2.2 創(chuàng)建隧道映射本地端口
cpolar安裝成功后,在瀏覽器上訪問本地9200端口【http://localhost:9200】,使用cpolar賬號登錄。
點擊左側(cè)儀表盤的隧道管理——創(chuàng)建隧道,創(chuàng)建一個tomcat的8080端口 http隧道
- 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復(fù)
- 協(xié)議:選擇http
- 本地地址:8080
- 域名類型:免費選擇隨機域名
- 地區(qū):選擇China vip
點擊創(chuàng)建
隧道創(chuàng)建成功后,點擊左側(cè)的狀態(tài)——在線隧道列表,查看所生成的公網(wǎng)地址,然后復(fù)制地址
2.3 測試公網(wǎng)地址
這里以Postman接口調(diào)試工具向接口發(fā)送請求,在postman創(chuàng)建一個post請求方式.輸入復(fù)制的公網(wǎng)地址加上接口路徑,參數(shù)使用JSON格式,設(shè)置好參數(shù)點擊
在服務(wù)接口端debug調(diào)試接口,查看請求是否進入接口,進入接口表示調(diào)用成功
3. 固定公網(wǎng)地址
由于以上使用cpolar所創(chuàng)建的隧道使用的是隨機公網(wǎng)地址,24小時內(nèi)會隨機變化,不利于長期遠程訪問。因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化
注意需要將cpolar套餐升級至基礎(chǔ)套餐或以上,且每個套餐對應(yīng)的帶寬不一樣?!綾polar.cn已備案】
3.1 保留一個二級子域名
登錄cpolar官網(wǎng),點擊左側(cè)的預(yù)留,選擇保留二級子域名,設(shè)置一個二級子域名名稱,點擊保留,保留成功后復(fù)制保留的二級子域名名稱
3.2 配置二級子域名
訪問http://127.0.0.1:9200/,登錄cpolar web UI管理界面,點擊左側(cè)儀表盤的隧道管理——隧道列表,找到所要配置的8080隧道,點擊右側(cè)的編輯
修改隧道信息,將保留成功的二級子域名配置到隧道中
- 域名類型:選擇二級子域名
- Sub Domain:填寫保留成功的二級子域名,本例為test01
點擊更新
更新完成后,打開在線隧道列表,此時可以看到公網(wǎng)地址已經(jīng)發(fā)生變化,地址名稱也變成了保留過的二級子域名名稱,將其復(fù)制下來
3.3 測試使用固定公網(wǎng)地址
打開postman,使用固定http地址進行調(diào)用
同樣在服務(wù)端debug調(diào)試查看請求是否進入接口,進入接口表示成功
4. Cpolar監(jiān)聽器
我們還可以使用cpolar監(jiān)聽器(http://localhost:4040)查看接口請求日志,處理一個討厭的bug。甚至可以重播請求消息包,加速測試的請求,單擊重放(Replay)按鈕,重新發(fā)送該HTTP信令請求,而不是手動重新觸發(fā)操作。下面介紹使用cpolar監(jiān)聽器監(jiān)聽請求。
4.1 開啟偵聽功能
選擇我們剛剛創(chuàng)建配置的http隧道,并點擊右側(cè)的編輯
打開高級設(shè)置,開啟偵聽功能
4.2 請求偵聽
在瀏覽器訪問本地4040端口,http://localhost:4040
向服務(wù)端發(fā)送請求后,此處就會顯示相關(guān)的請求日志,可以看到請求的方式,請求的數(shù)據(jù),接口路徑,和返回狀態(tài)及結(jié)果,極大提高了調(diào)試效率。
以上就是SpringBoot實現(xiàn)HTTP服務(wù)監(jiān)聽的代碼示例的詳細內(nèi)容,更多關(guān)于SpringBoot實現(xiàn)HTTP服務(wù)監(jiān)聽的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringData @Query和@Modifying注解原理解析
這篇文章主要介紹了SpringData @Query和@Modifying注解原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08劍指Offer之Java算法習(xí)題精講數(shù)組與字符和等差數(shù)列
跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化2022-03-03springboot利用redis、Redisson處理并發(fā)問題的操作
這篇文章主要介紹了springboot利用redis、Redisson處理并發(fā)問題的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06關(guān)于SpringSecurity?Context?中獲取和更改當(dāng)前用戶信息的問題
SpringSecurityContext在異步線程中無法獲取用戶信息,因其與請求線程綁定;此外,用戶信息更新后跳轉(zhuǎn)頁面時,身份會被降級為匿名,導(dǎo)致信息無法及時同步,本文給大家介紹SpringSecurity?Context?中獲取和更改當(dāng)前用戶信息的問題,感興趣的朋友一起看看吧2024-09-09Java從單體架構(gòu)升級到微服務(wù)要注意的一些問題
這篇文章主要介紹了Java從單體架構(gòu)升級到微服務(wù)要注意的一些問題,對架構(gòu)感興趣的同學(xué),可以參考下2021-04-04