最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年06月11日 14:08:57   作者: 張占嶺  
今天主要說一下在openfeign里讀取JSON文件的問題,我們將測試所需要的數據存儲到文件里,在修改時關注點比較單純

對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環(huán)境中,在生產環(huán)境里,將使用真正的服務。

總結

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

相關文章

最新評論

山西省| 玛纳斯县| 安岳县| 广宗县| 黄梅县| 朝阳区| 泸州市| 陵水| 吴江市| 平和县| 高陵县| 时尚| 绍兴县| 芦溪县| 胶南市| 莒南县| 东山县| 沽源县| 庆阳市| 东安县| 来安县| 金坛市| 巴彦淖尔市| 武乡县| 柞水县| 永康市| 肃北| 景泰县| 榆林市| 威海市| 拉孜县| 贡觉县| 凤凰县| 肇庆市| 乌兰察布市| 抚远县| 延川县| 句容市| 易门县| 安庆市| 天柱县|