国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

springboot openfeign從JSON文件讀取數據問題

2024-07-14 08:41:13
字體:
來源:轉載
供稿:網友

對openfeign不清楚的同學可以參考下我的這篇文章:springboot~openfeign從此和httpClient說再見

對于openfeign來說,幫助我們解決了服務端調用服務端的問題,你不需要關心服務端的URI,只需要知道它在eureka里的服務名稱即可,同時你與服務端確定了服務方法的參數和返回值之后,我們可以在單元測試時mock這些服務端方法即可,真正做到了單元測試,而不需要與外界資源進行交互。

今天主要說一下在openfeign里讀取JSON文件的問題,我們將測試所需要的數據存儲到文件里,在修改時關注點比較單純。

JSON幫助類,主要使用了objectMapper這個對象

/** * 將json轉換為對象. * * @param path 文件路徑 */ public <T> T fromJson(String path, Class<T> cls) { try {  return objectMapper.readValue(this.fromResource(path, Charsets.UTF_8), cls); } catch (Exception e) {  throw new IllegalStateException("讀取json失敗:" + path, e); } } /** * 將json數組轉換為對象列表. * * @param path 文件路徑 */ public <T> List<T> listFromJson(String path, TypeReference typeReference) { try {  return objectMapper.readValue(fromResource(path, Charsets.UTF_8), typeReference); } catch (Exception e) {  throw new IllegalStateException("讀取json失敗:" + path, e); } }

在Mock類型中,可以使用這個方法讀JSON文件的內容

@Configuration@Profile("integTest")public class ServiceClientMock { @Bean public ServiceClient registerServiceClient() { AccountClient client = mock(AccountClient.class); when(client.del(  anyString(),  anyString(),  anyString(),  anyMap())).thenReturn(fromJson("order/orders.json", Map.class)); }}

上面代碼主要在模擬了ServiceClient對象里的del方法,有三個字符型輸入參數,返回值從JSON文件讀取,在單元測試里,直接注入的是ServiceClientMock對象,我們

可以從@Profile注解里看到,它運行在integTest環境中,在生產環境里,將使用真正的服務。

總結

以上所述是小編給大家介紹的springboot openfeign從JSON文件讀取數據問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 塘沽区| 香港| 东辽县| 鄂托克旗| 邹城市| 宣武区| 栾川县| 台江县| 马关县| 竹北市| 平谷区| 舞阳县| 合山市| 南丰县| 玉环县| 滁州市| 霸州市| 关岭| 武安市| 永年县| 象州县| 富锦市| 呼伦贝尔市| 德州市| 西青区| 武陟县| 曲沃县| 邻水| 龙门县| 周至县| 津南区| 环江| 石楼县| 云龙县| 仙居县| 文水县| 肇庆市| 龙里县| 静安区| 南平市| 开江县|