測試引擎模擬接口實戰

在上一章的內容中,我簡單介紹了整個微服務的各個子模塊,還封裝了一些工具類。

當然,若還沒完成上次內容的也可以點擊右側的傳送門------傳送門

EngineApplication

在開發測試引擎模擬接口之前,還需要給xxx-engine創建一個SpringBoot的啟動類。

@SpringBootApplication
@EnableTransactionManagement
@EnableFeignClients
@EnableDiscoveryClient
public class EngineApplication {public static void main(String[] args) {SpringApplication.run(EngineApplication.class,args);}
}

那么這里的幾個接口需要有以下幾個內容:

  • get提交
  • post提交
    • json格式
    • 表單格式
  • 需要以上模擬接口需要支持參數化和隨機響應延遲

login

@RequestMapping("/api/v1/test/login_form")@ResponseBodypublic JsonData login(String mail, String pwd){if(mail.startsWith("a")){return JsonData.buildError("賬號錯誤");}return JsonData.buildSuccess("mail=" + mail + "pwd=" + pwd);}

使用form表單形式提交,不可以使用json形式提交。

使用postman來測試,測試結果如下:

pay

 @PostMapping("/api/v1/test/pay_json")@ResponseBodypublic JsonData pay(@RequestBody Map<String,String> map) {String id = map.get("id");String amount = map.get("amount");return JsonData.buildSuccess("id="+id+",amount="+amount);}

這個方法使用的是post提交,且使用json形式進行提交。

繼續使用postman進行測試,測試結果如下:

paySleep

這個方法會在上面pay方法上,增加隨機睡眠時間的功能。

@PostMapping("/api/v1/test/pay_json_sleep")@ResponseBodypublic JsonData paySleep(@RequestBody Map<String,String> map) {try {int value = RandomUtil.randomInt(1000);TimeUnit.MICROSECONDS.sleep(value);String id = map.get("id");String amount = map.get("amount");return JsonData.buildSuccess("id="+id+",amount="+amount+",sleep="+value);} catch (InterruptedException e) {throw new RuntimeException(e);}}

還是使用postman進行測試,測試結果如下:

queryDetail

@GetMapping("/api/v1/test/query")@ResponseBodypublic JsonData queryDetail(Long id){return JsonData.buildSuccess("id="+id);}

這個方法使用的是get方式提交,并以form表單形式提交。

測試如下:

querySleep

@GetMapping("/api/v1/test/query_sleep")@ResponseBodypublic JsonData querySleep(Long id){try {int value = RandomUtil.randomInt(1000);TimeUnit.MICROSECONDS.sleep(value);return JsonData.buildSuccess("id="+id+",sleep="+value);} catch (InterruptedException e) {throw new RuntimeException(e);}}

這個方法是從以上方法添加了隨機睡眠時間的功能

測試如下:

queryError

@GetMapping("/api/v1/test/query_error_code")@ResponseBodypublic JsonData queryError(Long id,  HttpServletResponse response){if(id % 3 == 0){response.setStatus(500);}return JsonData.buildSuccess("id="+id);}
id取模3是0后則http狀態碼500

測試如下:

以上均為本冊測試引擎模擬接口實戰

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/39826.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/39826.shtml
英文地址,請注明出處:http://en.pswp.cn/web/39826.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

bpftrace幾種使用實例

1. 排查內存泄漏 memory.c memory.bt 可以執行相關memory&#xff0c;用bpftrace追蹤malloc和free的過程 修改memory.bt&#xff0c;加上malloc和free統計&#xff0c;重新執行 2. 驗證tcp連接關閉是應用關閉還是內核關閉 nginx服務啟動后&#xff0c;會處于監聽狀態&…

Linux python3.6安裝mayavi報錯

需要將vtk版本降級&#xff0c;以及uninstall pyqt5&#xff08;安裝的vtk版本是9.3.1&#xff09; pip3 install vtk8.1.0 或者9.0.1 報錯 Building wheels for collected packages: mayavi Building wheel for mayavi (setup.py) ... error ERROR: Command errored out…

速盾:cdn防止采集?

CDN&#xff08;Content Delivery Network&#xff09;是一種網絡加速技術&#xff0c;主要用于分發網站內容給用戶&#xff0c;并提供一定的安全保護。CDN的主要作用是通過將網站的靜態資源&#xff08;如圖片、CSS、JS等&#xff09;緩存到分布在全球各地的服務器上&#xff…

imx6ull/linux應用編程學習(9)串口應用編程

什么是串口&#xff1f; 串口全稱叫做串行接口&#xff0c;串行接口指的是數據一個一個的按順序傳輸&#xff0c;通信線路簡單。使用兩條線即可實現雙向通信&#xff0c;一條用于發送&#xff0c;一條用于接收。串口通信距離遠&#xff0c;但是速度相對會低&#xff0c;串口是一…

GPU相關的一些截圖(備查,待整理)

GPU相關的一些截圖 這里記錄一些與GPU相關的截圖,方便查閱

多空決戰恒指18000,港股估值有望修復!

港股三大指數早盤沖高午后維持高位震蕩&#xff0c;市場情緒回升明顯。截至收盤&#xff0c;恒生科技指數大幅上漲0.63表現最佳&#xff0c;恒指、國指分別上漲0.28%及0.23%&#xff0c;恒指盤中一度收復萬八關口。但高開后漲幅收窄&#xff0c;截至收盤&#xff0c;恒指漲0.28…

MySQL8 快速導入數據指令load Data 最全詳解

MySQL8 快速導入數據指令load Data 最全詳解 修改mysql配置文件修改my.ini文件進入mysql,進入庫"ceshi"查詢你導入的數據表導入數據查詢導入的數據 項目基礎windows版本MySQL8 修改mysql配置文件 找到mysql的安裝目錄下的my.ini文件 C:\ProgramData\MySQL\MySQL Serv…

【雙出版加持!錄用率高!見刊、檢索更穩定!】第六屆結構抗震與土木工程研究國際學術會議 (ICSSCER 2024,8月16-18)

隨著社會的發展&#xff0c;城市規模的不斷擴大&#xff0c;建筑形態也趨于多樣化和復雜化&#xff0c;建筑結構形式逐漸由規則簡單向高層、大跨甚至特殊復雜的方向發展。而房屋建筑是人們正常生活和生產活動的基本場所&#xff0c;房屋建筑結構的安全必須得到充分保障。但是&a…

菱形繼承和菱形虛擬繼承

c具有多繼承的特性&#xff0c;那么菱形繼承就是多繼承的一種特殊情況&#xff0c;但是菱形繼承會出現一些問題&#xff0c;比如數據冗余和二義性&#xff1b; 那么怎么解決這個問題呢&#xff1f; 菱形虛擬繼承 菱形虛擬繼承的原理 class A { public:int _a; };class B: v…

【Linux】探索網絡編程:TCP/UDP協議解析與Socket應用實例

文章目錄 前言&#xff1a;1. 預備知識1.1 理解源IP地址和目的IP地址1.2 認識端口號1.3 理解"端口號"和"進程ID"1.4 理解源端口號和目的端口號1.5 認識TCP協議1.6 認識UDP協議1.6 TCP vs UDP 可靠性1.7 網絡字節序 2. socket 編程接口2.1 socket 常見API2.…

Pandas數據清洗實戰:精準捕捉并優雅過濾異常值,讓數據分析更可靠!

1.describe()&#xff1a;查看每一列的描述性統計量 # 導包 import numpy as np import pandas as pddf pd.DataFrame(datanp.random.randint(0,10,size(5,3)),indexlist("ABCDE"),columns["Python","NumPy","Pandas"]) dfdf.descri…

2024年7月5日 十二生肖 今日運勢

小運播報&#xff1a;2024年7月5日&#xff0c;星期五&#xff0c;農歷五月三十 &#xff08;甲辰年庚午月庚午日&#xff09;&#xff0c;法定工作日。 紅榜生肖&#xff1a;狗、羊、虎 需要注意&#xff1a;雞、牛、鼠 喜神方位&#xff1a;西北方 財神方位&#xff1a;正…

聯合查詢(多表查詢)

多表查詢是對多張表的數據取笛卡爾積&#xff08;關聯查詢可以對關聯表使用別名&#xff09; 數據準備 insert into classes(name, desc) values (計算機系2019級1班, 學習了計算機原理、C和Java語言、數據結構和算法), (中文系2019級3班,學習了中國傳統文學), (自動化2019級5…

土地規劃與文化遺產保護:在發展浪潮中守護歷史的脈絡

在這個日新月異的時代&#xff0c;城市化進程如火如荼&#xff0c;土地規劃作為引導城市發展方向的關鍵&#xff0c;承載著平衡發展與保護的重任。在追求現代化的同時&#xff0c;保護文化遺產不僅是對過去的尊重&#xff0c;更是對未來負責。本文旨在深入探討如何在土地規劃實…

uniapp----- 判斷小程序版本有沒有更新

const updateManager uni.getUpdateManager();// 當向小程序后臺請求完新版本信息&#xff0c;會進行回調updateManager.onCheckForUpdate(function (res) {console.log(是否有新版本, res.hasUpdate);});// 當新版本下載完成&#xff0c;會進行回調updateManager.onUpdateRea…

為了SourceInsight從Linux回到Windows

什么是SourceInsight 現在上網搜索這個軟件&#xff0c;大多數說他是一個代碼閱讀軟件&#xff1b;但是在官方的說法里面&#xff0c;這是一款支持多語言的編輯器。大概長這樣&#xff1a; 看起來十分老舊是吧&#xff0c;但是他其實他已經是第四代了哈哈哈。其實這個軟件是我…

字典樹模板+位運算

P3879 [TJOI2010] 閱讀理解 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) trie樹板子題&#xff0c;稍微有一丟丟不一樣&#xff0c;套用字典樹模板稍加修改就能過 手搓字典樹代碼&#xff1a; char ch[1010][26], cnt[1010], idx; void insert(string s)//插入 {int p 0…

高校搭建AIGC新媒體實驗室,創新新聞教育教學模式

高校作為人才培養的重要陣地&#xff0c;必須緊跟時代步伐&#xff0c;不斷創新教育教學模式&#xff0c;提升跨界融合育人水平&#xff0c;通過AIGC新媒體實驗室探索創新人才培養模式。AIGC新媒體實驗室不僅能夠高效賦能高校宣傳媒體矩陣&#xff0c;也可以助力教學實踐與AIGC…

ISA95-Part3-通訊協議的解析與開發指南

在 MES/MOM 系統中實現 ISA-95 標準的通信協議部分,通常涉及以下幾個關鍵步驟和應用場景: 一、關鍵步驟和應用場景: 1. ~協議選擇~: - MES/MOM 系統需選擇符合 ISA-95 標準的通信協議,常用的有 OPC UA(OLE for Process Control Unified Architecture)、XML、以及基于 H…

5分鐘讀懂GPS-RTK實時動態技術,建議收藏!

由于”智慧工地“理念的興起和發展&#xff0c;目前越來越多的企業將信息技術手段融合于施工現場安全管理&#xff0c;構建智能化的安全監管模式。基于此&#xff0c;藍牙LORA融合定位技術、UWB超寬帶定位技術、GPS-RTK定位技術等信息技術也越來越頻繁出現在大眾視野。然而&…